diff --git a/x21aStatics/WebContent/rup/css/rup.css b/x21aStatics/WebContent/rup/css/rup.css index 4d6cb6ddd..d6182d02c 100644 --- a/x21aStatics/WebContent/rup/css/rup.css +++ b/x21aStatics/WebContent/rup/css/rup.css @@ -7733,14 +7733,14 @@ a.text-dark:hover, a.text-dark:focus { src: local("Roboto"), local("Roboto-Regular"), url(fonts/roboto-v19-latin-regular.woff2) format("woff2"), url(fonts/roboto-v19-latin-regular.woff) format("woff"), url(fonts/roboto-v19-latin-regular.ttf) format("truetype"); } /*! - * jQuery UI CSS Framework 1.14.0 - * https://jqueryui.com + * jQuery UI CSS Framework 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/category/theming/ + * http://api.jqueryui.com/category/theming/ */ /* Layout helpers ----------------------------------*/ @@ -7782,7 +7782,9 @@ a.text-dark:hover, a.text-dark:focus { top: 0; left: 0; position: absolute; - opacity: 0; } + opacity: 0; + -ms-filter: "alpha(opacity=0)"; + /* support: IE8 */ } .ui-front { z-index: 100; } @@ -7820,14 +7822,14 @@ a.text-dark:hover, a.text-dark:focus { height: 100%; } /*! - * jQuery UI Accordion 1.14.0 - * https://jqueryui.com + * jQuery UI Accordion 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/accordion/#theming + * http://api.jqueryui.com/accordion/#theming */ .ui-accordion .ui-accordion-header { display: block; @@ -7843,14 +7845,14 @@ a.text-dark:hover, a.text-dark:focus { overflow: auto; } /*! - * jQuery UI Button 1.14.0 - * https://jqueryui.com + * jQuery UI Button 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/button/#theming + * http://api.jqueryui.com/button/#theming */ .ui-button { padding: .4em 1em; @@ -7862,7 +7864,11 @@ a.text-dark:hover, a.text-dark:focus { vertical-align: middle; text-align: center; -webkit-user-select: none; - user-select: none; } + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* Support: IE <= 11 */ + overflow: visible; } .ui-button, .ui-button:link, @@ -7905,7 +7911,7 @@ input.ui-button.ui-icon-notext .ui-icon { padding: .4em 1em; } /* workarounds */ -/* Support: Firefox 5 - 125+ */ +/* Support: Firefox 5 - 40 */ input.ui-button::-moz-focus-inner, button.ui-button::-moz-focus-inner, .ui-button.rup-button::-moz-focus-inner, @@ -7918,14 +7924,14 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, padding: 0; } /*! - * jQuery UI Checkboxradio 1.14.0 - * https://jqueryui.com + * jQuery UI Checkboxradio 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/checkboxradio/#theming + * http://api.jqueryui.com/checkboxradio/#theming */ .ui-checkboxradio-label .ui-icon-background { box-shadow: inset 1px 1px 1px #ccc; @@ -7951,14 +7957,14 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, pointer-events: none; } /*! - * jQuery UI Controlgroup 1.14.0 - * https://jqueryui.com + * jQuery UI Controlgroup 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/controlgroup/#theming + * http://api.jqueryui.com/controlgroup/#theming */ .ui-controlgroup { vertical-align: middle; @@ -8004,20 +8010,22 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, /* Spinner specific style fixes */ .ui-controlgroup-vertical .ui-spinner-input { + /* Support: IE8 only, Android < 4.4 only */ + width: 75%; width: calc( 100% - 2.4em); } .ui-controlgroup-vertical .ui-spinner .ui-spinner-up { border-top-style: solid; } /*! - * jQuery UI Datepicker 1.14.0 - * https://jqueryui.com + * jQuery UI Datepicker 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/datepicker/#theming + * http://api.jqueryui.com/datepicker/#theming */ .ui-datepicker { width: 17em; @@ -8192,14 +8200,14 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, top: .3em; } /*! - * jQuery UI Dialog 1.14.0 - * https://jqueryui.com + * jQuery UI Dialog 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/dialog/#theming + * http://api.jqueryui.com/dialog/#theming */ .ui-dialog { position: absolute; @@ -8293,25 +8301,26 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, cursor: move; } /*! - * jQuery UI Draggable 1.14.0 - * https://jqueryui.com + * jQuery UI Draggable 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license */ .ui-draggable-handle { + -ms-touch-action: none; touch-action: none; } /*! - * jQuery UI Menu 1.14.0 - * https://jqueryui.com + * jQuery UI Menu 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/menu/#theming + * http://api.jqueryui.com/menu/#theming */ .ui-menu { list-style: none; @@ -8325,7 +8334,9 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, .ui-menu .ui-menu-item { margin: 0; - cursor: pointer; } + cursor: pointer; + /* support: IE10, see #8844 */ + list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); } .ui-menu .ui-menu-item-wrapper { position: relative; @@ -8363,14 +8374,14 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, right: 0; } /*! - * jQuery UI Progressbar 1.14.0 - * https://jqueryui.com + * jQuery UI Progressbar 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/progressbar/#theming + * http://api.jqueryui.com/progressbar/#theming */ .ui-progressbar { height: 2em; @@ -8384,18 +8395,20 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, .ui-progressbar .ui-progressbar-overlay { background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw=="); height: 100%; + -ms-filter: "alpha(opacity=25)"; + /* support: IE8 */ opacity: 0.25; } .ui-progressbar-indeterminate .ui-progressbar-value { background-image: none; } /*! - * jQuery UI Resizable 1.14.0 - * https://jqueryui.com + * jQuery UI Resizable 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license */ .ui-resizable { position: relative; } @@ -8404,6 +8417,7 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, position: absolute; font-size: 0.1px; display: block; + -ms-touch-action: none; touch-action: none; } .ui-resizable-disabled .ui-resizable-handle, @@ -8467,14 +8481,15 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, top: -5px; } /*! - * jQuery UI Selectable 1.14.0 - * https://jqueryui.com + * jQuery UI Selectable 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license */ .ui-selectable { + -ms-touch-action: none; touch-action: none; } .ui-selectable-helper { @@ -8483,14 +8498,14 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, border: 1px dotted black; } /*! - * jQuery UI Selectmenu 1.14.0 - * https://jqueryui.com + * jQuery UI Selectmenu 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/selectmenu/#theming + * http://api.jqueryui.com/selectmenu/#theming */ .ui-selectmenu-menu { padding: 0; @@ -8533,25 +8548,26 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, margin-top: 0; } /*! - * jQuery UI Sortable 1.14.0 - * https://jqueryui.com + * jQuery UI Sortable 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license */ .ui-sortable-handle { + -ms-touch-action: none; touch-action: none; } /*! - * jQuery UI Slider 1.14.0 - * https://jqueryui.com + * jQuery UI Slider 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/slider/#theming + * http://api.jqueryui.com/slider/#theming */ .ui-slider { position: relative; @@ -8563,6 +8579,7 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, width: 1.2em; height: 1.2em; cursor: pointer; + -ms-touch-action: none; touch-action: none; } .ui-slider .ui-slider-range { @@ -8573,6 +8590,11 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, border: 0; background-position: 0 0; } +/* support: IE8 - See #6727 */ +.ui-slider.ui-state-disabled .ui-slider-handle, +.ui-slider.ui-state-disabled .ui-slider-range { + filter: inherit; } + .ui-slider-horizontal { height: .8em; } @@ -8610,14 +8632,14 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, top: 0; } /*! - * jQuery UI Spinner 1.14.0 - * https://jqueryui.com + * jQuery UI Spinner 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/spinner/#theming + * http://api.jqueryui.com/spinner/#theming */ .ui-spinner { position: relative; @@ -8662,14 +8684,14 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, bottom: 0; } /*! - * jQuery UI Tabs 1.14.0 - * https://jqueryui.com + * jQuery UI Tabs 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/tabs/#theming + * http://api.jqueryui.com/tabs/#theming */ .ui-tabs { position: relative; @@ -8714,14 +8736,14 @@ a.ui-button.rup-toolbar_menuButton::-moz-focus-inner, background: none; } /*! - * jQuery UI Tooltip 1.14.0 - * https://jqueryui.com + * jQuery UI Tooltip 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/tooltip/#theming + * http://api.jqueryui.com/tooltip/#theming */ .ui-tooltip { padding: 8px; @@ -11424,16 +11446,16 @@ body .ui-tooltip { background: transparent; } /*! - * jQuery UI CSS Framework 1.14.0 - * https://jqueryui.com + * jQuery UI CSS Framework 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/category/theming/ + * http://api.jqueryui.com/category/theming/ * - * To view and modify this theme, visit https://jqueryui.com/themeroller/ + * To view and modify this theme, visit http://jqueryui.com/themeroller/ */ /* Component containers ----------------------------------*/ @@ -11599,14 +11621,22 @@ a.ui-button:active, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; + -ms-filter: "alpha(opacity=70)"; + /* support: IE8 */ font-weight: normal; } .ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; + -ms-filter: "alpha(opacity=35)"; + /* support: IE8 */ background-image: none; } +.ui-state-disabled .ui-icon { + -ms-filter: "alpha(opacity=35)"; + /* support: IE8 - See #6059 */ } + /* Icons ----------------------------------*/ /* states and images */ @@ -12200,9 +12230,12 @@ a.ui-button:active, /* Overlays */ .ui-widget-overlay { background: #aaaaaa; - opacity: 0.3; } + opacity: 0.3; + -ms-filter: "alpha(opacity=30)"; + /* support: IE8 */ } .ui-widget-shadow { + -webkit-box-shadow: 0 0 5px #666666; box-shadow: 0 0 5px #666666; } button, button.ui-button, .ui-button.rup-button, .rup-dropdown-btn-group .rup-dropdown-button, a.rup-toolbar_menuButton.ui-button, .rup-wizard a.rup-wizard_next, .rup-wizard a.rup-wizard_prev, .rup-wizard .rup-wizard_submitButton, input[type="button"], input[type="submit"] { @@ -36447,16 +36480,16 @@ a.cal-event-week { @charset "UTF-8"; /*! - * jQuery UI CSS Framework 1.14.0 - * https://jqueryui.com + * jQuery UI CSS Framework 1.13.2 + * http://jqueryui.com * - * Copyright OpenJS Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. - * https://jquery.org/license + * http://jquery.org/license * - * https://api.jqueryui.com/category/theming/ + * http://api.jqueryui.com/category/theming/ * - * To view and modify this theme, visit https://jqueryui.com/themeroller/ + * To view and modify this theme, visit http://jqueryui.com/themeroller/ */ /* Component containers ----------------------------------*/ @@ -36622,14 +36655,22 @@ a.ui-button:active, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; + -ms-filter: "alpha(opacity=70)"; + /* support: IE8 */ font-weight: normal; } .ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; + -ms-filter: "alpha(opacity=35)"; + /* support: IE8 */ background-image: none; } +.ui-state-disabled .ui-icon { + -ms-filter: "alpha(opacity=35)"; + /* support: IE8 - See #6059 */ } + /* Icons ----------------------------------*/ /* states and images */ @@ -37223,9 +37264,12 @@ a.ui-button:active, /* Overlays */ .ui-widget-overlay { background: #aaaaaa; - opacity: 0.3; } + opacity: 0.3; + -ms-filter: "alpha(opacity=30)"; + /* support: IE8 */ } .ui-widget-shadow { + -webkit-box-shadow: 0 0 5px #666666; box-shadow: 0 0 5px #666666; } button, button.ui-button, .ui-button.rup-button, .rup-dropdown-btn-group .rup-dropdown-button, a.rup-toolbar_menuButton.ui-button, .rup-wizard a.rup-wizard_next, .rup-wizard a.rup-wizard_prev, .rup-wizard .rup-wizard_submitButton, input[type="button"], input[type="submit"] { diff --git a/x21aStatics/WebContent/rup/css/rup.min.css b/x21aStatics/WebContent/rup/css/rup.min.css index 39d037e4b..1d9f9719b 100644 --- a/x21aStatics/WebContent/rup/css/rup.min.css +++ b/x21aStatics/WebContent/rup/css/rup.min.css @@ -1 +1 @@ -:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:.875em;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\00A0"}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333%;max-width:8.33333%}.col-2{flex:0 0 16.66667%;max-width:16.66667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333%;max-width:33.33333%}.col-5{flex:0 0 41.66667%;max-width:41.66667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333%;max-width:58.33333%}.col-8{flex:0 0 66.66667%;max-width:66.66667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333%;max-width:83.33333%}.col-11{flex:0 0 91.66667%;max-width:91.66667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:hsla(0,0%,100%,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem)!important;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem)!important;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{justify-content:center}.form-inline .form-group,.form-inline label{display:flex;align-items:center;margin-bottom:0}.form-inline .form-group{flex:0 0 auto;flex-flow:row wrap}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success.focus,.btn-success:focus,.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info.focus,.btn-info:focus,.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light.focus,.btn-light:focus,.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark.focus,.btn-dark:focus,.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3}.btn-link.focus,.btn-link:focus,.btn-link:hover{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.width{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.width{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label:after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label:after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;print-color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label:before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label:before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before,.custom-control-input[disabled]~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label:before{pointer-events:none;background-color:#fff;border:1px solid #adb5bd}.custom-control-label:after,.custom-control-label:before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:""}.custom-control-label:after{background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label:after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label:after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(1.5em + .75rem + 2px)}.custom-file-input{z-index:2;margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{left:0;z-index:1;height:calc(1.5em + .75rem + 2px);overflow:hidden;font-weight:400;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label,.custom-file-label:after{position:absolute;top:0;right:0;padding:.375rem .75rem;line-height:1.5;color:#495057}.custom-file-label:after{bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background-color:transparent;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:none;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(0,0,0,0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.5);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(255,255,255,0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{height:1rem;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:.875rem;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{top:0;left:0;z-index:1060;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover,.popover .arrow{position:absolute;display:block}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow:after,.popover .arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid;border-right:.25em solid transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentcolor;border-radius:50%;opacity:0;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive:before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9:before{padding-top:42.85714%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{user-select:all!important}.user-select-auto{user-select:auto!important}.user-select-none{user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}@supports (position:sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:transparent}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd}blockquote,img,pre,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}.ui-timepicker-div dl dt{float:left;clear:left;padding:0 0 0 5px}.ui-timepicker-div dl dd{margin:0 10px 10px 40%}.ui-timepicker-div .ui_tpicker_unit_hide{display:none}.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input{background:none;color:inherit;outline:none;border:none;border-bottom:1px solid #555;width:95%}.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input:focus{border-bottom-color:#aaa}.ui-timepicker-rtl{direction:rtl}.ui-timepicker-rtl dl{text-align:right;padding:0 5px 0 0}.ui-timepicker-rtl dl dt{float:right;clear:right}.ui-timepicker-rtl dl dd{margin:0 40% 10px 10px}.ui-timepicker-div.ui-timepicker-oneLine{padding-right:2px}.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time,.ui-timepicker-div.ui-timepicker-oneLine dt{display:none}.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time_label{display:block;padding-top:2px}.ui-timepicker-div.ui-timepicker-oneLine dl{text-align:right}.ui-timepicker-div.ui-timepicker-oneLine dl dd,.ui-timepicker-div.ui-timepicker-oneLine dl dd>div{display:inline-block;margin:0}.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_minute:before,.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_second:before{content:":";display:inline-block}.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_microsec:before,.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_millisec:before{content:".";display:inline-block}.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide,.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide:before{display:none}.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top,#fff 50%,#eee);background-image:-o-linear-gradient(top,#fff 50%,#eee 100%);background-image:linear-gradient(180deg,#fff 50%,#eee);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF",endColorstr="#FFEEEEEE",GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top,#eee 50%,#ccc);background-image:-o-linear-gradient(top,#eee 50%,#ccc 100%);background-image:linear-gradient(180deg,#eee 50%,#ccc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE",endColorstr="#FFCCCCCC",GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top,#fff,#eee 50%);background-image:-o-linear-gradient(top,#fff 0,#eee 50%);background-image:linear-gradient(180deg,#fff 0,#eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF",endColorstr="#FFEEEEEE",GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top,#eee 50%,#fff);background-image:-o-linear-gradient(top,#eee 50%,#fff 100%);background-image:linear-gradient(180deg,#eee 50%,#fff);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE",endColorstr="#FFFFFFFF",GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local("Roboto"),local("Roboto-Regular"),url(fonts/roboto-v19-latin-regular.woff2) format("woff2"),url(fonts/roboto-v19-latin-regular.woff) format("woff"),url(fonts/roboto-v19-latin-regular.ttf) format("truetype")}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;user-select:none}.ui-button,.ui-button:active,.ui-button:hover,.ui-button:link,.ui-button:visited{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}.rup-dropdown-btn-group .ui-button.rup-dropdown-button::-moz-focus-inner,.rup-wizard .ui-button.rup-wizard_submitButton::-moz-focus-inner,.rup-wizard a.ui-button.rup-wizard_next::-moz-focus-inner,.rup-wizard a.ui-button.rup-wizard_prev::-moz-focus-inner,.ui-button.rup-button::-moz-focus-inner,a.ui-button.rup-toolbar_menuButton::-moz-focus-inner,button.ui-button::-moz-focus-inner,input.ui-button::-moz-focus-inner{border:0;padding:0}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup>.ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup>.ui-controlgroup-item.ui-visual-focus,.ui-controlgroup>.ui-controlgroup-item:focus{z-index:9999}.ui-controlgroup-vertical>.ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label+.ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label+.ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:calc(100% - 2.4em)}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td a,.ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.rup-dropdown-btn-group .ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-button,.rup-wizard .ui-datepicker .ui-datepicker-buttonpane .rup-wizard_submitButton,.rup-wizard .ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_next,.rup-wizard .ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_prev,.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .rup-dropdown-button,.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .rup-wizard_submitButton,.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_next,.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_prev,.ui-datepicker .ui-datepicker-buttonpane .ui-button.rup-button,.ui-datepicker .ui-datepicker-buttonpane a.rup-toolbar_menuButton.ui-button,.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.rup-dropdown-btn-group .ui-datepicker .ui-datepicker-buttonpane .ui-datepicker-current.rup-dropdown-button,.rup-wizard .ui-datepicker .ui-datepicker-buttonpane .ui-datepicker-current.rup-wizard_submitButton,.rup-wizard .ui-datepicker .ui-datepicker-buttonpane a.ui-datepicker-current.rup-wizard_next,.rup-wizard .ui-datepicker .ui-datepicker-buttonpane a.ui-datepicker-current.rup-wizard_prev,.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-datepicker-current.rup-dropdown-button,.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-datepicker-current.rup-wizard_submitButton,.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-datepicker-current.rup-wizard_next,.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-datepicker-current.rup-wizard_prev,.ui-datepicker .ui-datepicker-buttonpane .ui-datepicker-current.ui-button.rup-button,.ui-datepicker .ui-datepicker-buttonpane a.ui-datepicker-current.rup-toolbar_menuButton.ui-button,.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.rup-dropdown-btn-group .ui-datepicker-rtl .ui-datepicker-buttonpane .rup-dropdown-button,.rup-wizard .ui-datepicker-rtl .ui-datepicker-buttonpane .rup-wizard_submitButton,.rup-wizard .ui-datepicker-rtl .ui-datepicker-buttonpane a.rup-wizard_next,.rup-wizard .ui-datepicker-rtl .ui-datepicker-buttonpane a.rup-wizard_prev,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-dropdown-btn-group .rup-dropdown-button,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-wizard .rup-wizard_submitButton,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_next,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_prev,.ui-datepicker-rtl .ui-datepicker-buttonpane .ui-button.rup-button,.ui-datepicker-rtl .ui-datepicker-buttonpane a.rup-toolbar_menuButton.ui-button,.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.rup-dropdown-btn-group .ui-datepicker-rtl .ui-datepicker-buttonpane .ui-datepicker-current.rup-dropdown-button,.rup-wizard .ui-datepicker-rtl .ui-datepicker-buttonpane .ui-datepicker-current.rup-wizard_submitButton,.rup-wizard .ui-datepicker-rtl .ui-datepicker-buttonpane a.ui-datepicker-current.rup-wizard_next,.rup-wizard .ui-datepicker-rtl .ui-datepicker-buttonpane a.ui-datepicker-current.rup-wizard_prev,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-datepicker-current.rup-dropdown-button,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-wizard .ui-datepicker-current.rup-wizard_submitButton,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-wizard a.ui-datepicker-current.rup-wizard_next,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-wizard a.ui-datepicker-current.rup-wizard_prev,.ui-datepicker-rtl .ui-datepicker-buttonpane .ui-datepicker-current.ui-button.rup-button,.ui-datepicker-rtl .ui-datepicker-buttonpane a.ui-datepicker-current.rup-toolbar_menuButton.ui-button,.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.rup-dropdown-btn-group .ui-dialog .ui-dialog-buttonpane .rup-dropdown-button,.rup-wizard .ui-dialog .ui-dialog-buttonpane .rup-wizard_submitButton,.rup-wizard .ui-dialog .ui-dialog-buttonpane a.rup-wizard_next,.rup-wizard .ui-dialog .ui-dialog-buttonpane a.rup-wizard_prev,.ui-dialog .ui-dialog-buttonpane .rup-dropdown-btn-group .rup-dropdown-button,.ui-dialog .ui-dialog-buttonpane .rup-wizard .rup-wizard_submitButton,.ui-dialog .ui-dialog-buttonpane .rup-wizard a.rup-wizard_next,.ui-dialog .ui-dialog-buttonpane .rup-wizard a.rup-wizard_prev,.ui-dialog .ui-dialog-buttonpane .ui-button.rup-button,.ui-dialog .ui-dialog-buttonpane a.rup-toolbar_menuButton.ui-button,.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw,.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{touch-action:none}.ui-menu{padding:0;outline:0}.ui-menu .ui-menu-item{margin:0;cursor:pointer}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;border-width:1px 0 0}.ui-menu .ui-state-active,.ui-menu .ui-state-focus{margin:-1px}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{top:0;bottom:0;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar .ui-progressbar-value{margin:-1px}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;opacity:.25}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;touch-action:none}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:700;line-height:1.5;padding:2px .4em;margin:.5em 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-sortable-handle{touch-action:none}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:pointer;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;vertical-align:middle;margin:.2em 2em .2em .4em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}.fileinput-button{position:relative;overflow:hidden;display:inline-block}.fileinput-button input{position:absolute;top:0;right:0;margin:0;opacity:0;-ms-filter:"alpha(opacity=0)";font-size:200px!important;direction:ltr;cursor:pointer}.fileupload-buttonbar .btn,.fileupload-buttonbar .toggle{margin-bottom:5px}.progress-animated .bar,.progress-animated .progress-bar{background:url(images/progressbar.gif)!important;filter:none}.fileupload-process{float:right;display:none}.files .processing .preview,.fileupload-processing .fileupload-process{display:block;width:32px;height:32px;background:url(images/loading.gif) 50% no-repeat;background-size:contain}.files audio,.files video{max-width:300px}@media (max-width:767px){.files .btn span,.files .toggle,.fileupload-buttonbar .toggle{display:none}.files .name{width:80px;word-wrap:break-word}.files audio,.files video{max-width:80px}.files canvas,.files img{max-width:100%}}#qtip-overlay.blurs,.qtip-close{cursor:pointer}.qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px;direction:ltr;box-shadow:none;padding:0}.qtip-content,.qtip-titlebar{position:relative;overflow:hidden}.qtip-content{padding:5px 9px;text-align:left;word-wrap:break-word}.qtip-titlebar{padding:5px 35px 5px 10px;border-width:0 0 1px;font-weight:700}.qtip-titlebar+.qtip-content{border-top-width:0!important}.qtip-close{position:absolute;right:-9px;top:-9px;z-index:11;outline:0;border:1px solid transparent}.qtip-titlebar .qtip-close{right:4px;top:50%;margin-top:-9px}* html .qtip-titlebar .qtip-close{top:16px}.qtip-icon .ui-icon,.qtip-titlebar .ui-icon{display:block;text-indent:-1000em;direction:ltr}.qtip-icon,.qtip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;text-decoration:none}.qtip-icon .ui-icon{width:18px;height:14px;line-height:14px;text-align:center;text-indent:0;font:normal 700 10px/13px Tahoma,sans-serif;color:inherit;background:-100em -100em no-repeat}.qtip-default{border:1px solid #f1d031;background-color:#ffffa3;color:#555}.qtip-default .qtip-titlebar{background-color:#ffef93}.qtip-default .qtip-icon{border-color:#ccc;background:#f1f1f1;color:#777}.qtip-default .qtip-titlebar .qtip-close{border-color:#aaa;color:#111}.qtip-light{background-color:#fff;border-color:#e2e2e2;color:#454545}.qtip-light .qtip-titlebar{background-color:#f1f1f1}.qtip-dark{background-color:#505050;border-color:#303030;color:#f3f3f3}.qtip-dark .qtip-titlebar{background-color:#404040}.qtip-dark .qtip-icon{border-color:#444}.qtip-dark .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-cream{background-color:#fbf7aa;border-color:#f9e98e;color:#a27d35}.qtip-red,.qtip-red .qtip-icon,.qtip-red .qtip-titlebar .ui-state-hover{border-color:#d95252}.qtip-cream .qtip-titlebar{background-color:#f0de7d}.qtip-cream .qtip-close .qtip-icon{background-position:-82px 0}.qtip-red{background-color:#f78b83;color:#912323}.qtip-red .qtip-titlebar{background-color:#f06d65}.qtip-red .qtip-close .qtip-icon{background-position:-102px 0}.qtip-green{background-color:#caed9e;border-color:#90d93f;color:#3f6219}.qtip-green .qtip-titlebar{background-color:#b0de78}.qtip-green .qtip-close .qtip-icon{background-position:-42px 0}.qtip-blue{background-color:#e5f6fe;border-color:#add9ed;color:#5e99bd}.qtip-blue .qtip-titlebar{background-color:#d0e9f5}.qtip-blue .qtip-close .qtip-icon{background-position:-2px 0}.qtip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.qtip-bootstrap,.qtip-rounded,.qtip-tipsy{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.qtip-rounded .qtip-titlebar{-moz-border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.qtip-youtube{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;color:#fff;border:0 solid transparent;background:#4a4a4a;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4a4a4a),color-stop(100%,#000));background-image:-webkit-linear-gradient(top,#4a4a4a,#000);background-image:-moz-linear-gradient(top,#4a4a4a 0,#000 100%);background-image:-ms-linear-gradient(top,#4a4a4a 0,#000 100%);background-image:-o-linear-gradient(top,#4a4a4a 0,#000 100%)}.qtip-youtube .qtip-titlebar{background-color:#4a4a4a;background-color:transparent}.qtip-youtube .qtip-content{padding:.75em;font:12px arial,sans-serif;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);"}.qtip-youtube .qtip-icon{border-color:#222}.qtip-youtube .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-linear-gradient(top,#717171,#232323);background-image:-ms-linear-gradient(top,#717171,#232323);background-image:-o-linear-gradient(top,#717171,#232323);border:2px solid #f1f1f1;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.qtip-jtools .qtip-titlebar{background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"}.qtip-jtools .qtip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"}.qtip-jtools .qtip-content,.qtip-jtools .qtip-titlebar{background:0 0;color:#fff;border:0 dashed transparent}.qtip-jtools .qtip-icon{border-color:#555}.qtip-jtools .qtip-titlebar .ui-state-hover{border-color:#333}.qtip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4);background-color:#d9d9c2;color:#111;border:0 dashed transparent}.qtip-cluetip .qtip-titlebar{background-color:#87876a;color:#fff;border:0 dashed transparent}.qtip-cluetip .qtip-icon{border-color:#808064}.qtip-cluetip .qtip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.qtip-tipsy{background:#000;background:rgba(0,0,0,.87);color:#fff;border:0 solid transparent;font-size:11px;font-weight:700;line-height:16px;text-shadow:0 1px #000}.qtip-tipsy .qtip-titlebar{padding:6px 35px 0 10px;background-color:transparent}.qtip-tipsy .qtip-content{padding:6px 10px}.qtip-tipsy .qtip-icon{border-color:#222;text-shadow:none}.qtip-tipsy .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-tipped{border:3px solid #959fa9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#f9f9f9;color:#454545;font-weight:400}.qtip-tipped .qtip-titlebar{border-bottom-width:0;color:#fff;background:#3a79b8;background-image:-webkit-gradient(linear,left top,left bottom,from(#3a79b8),to(#2e629d));background-image:-webkit-linear-gradient(top,#3a79b8,#2e629d);background-image:-moz-linear-gradient(top,#3a79b8,#2e629d);background-image:-ms-linear-gradient(top,#3a79b8,#2e629d);background-image:-o-linear-gradient(top,#3a79b8,#2e629d);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"}.qtip-tipped .qtip-icon{border:2px solid #285589;background:#285589}.qtip-tipped .qtip-icon .ui-icon{background-color:#fbfbfb;color:#555}.qtip-bootstrap{font-size:14px;line-height:20px;color:#333;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.qtip-bootstrap .qtip-titlebar{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.qtip-bootstrap .qtip-titlebar .qtip-close{right:11px;top:45%;border-style:none}.qtip-bootstrap .qtip-content{padding:9px 14px}.qtip-bootstrap .qtip-icon{background:0 0}.qtip-bootstrap .qtip-icon .ui-icon{width:auto;height:auto;float:right;font-size:20px;font-weight:700;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}#qtip-overlay,#qtip-overlay div{left:0;top:0;width:100%;height:100%}.qtip-bootstrap .qtip-icon .ui-icon:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}.qtip:not(.ie9haxors) div.qtip-content,.qtip:not(.ie9haxors) div.qtip-titlebar{filter:none;-ms-filter:none}.qtip .qtip-tip{margin:0 auto;overflow:hidden;z-index:10}.qtip .qtip-tip,x:-o-prefocus{visibility:hidden}.qtip .qtip-tip,.qtip .qtip-tip .qtip-vml,.qtip .qtip-tip canvas{position:absolute;color:#123456;background:0 0;border:0 dashed transparent}.qtip .qtip-tip canvas{top:0;left:0}.qtip .qtip-tip .qtip-vml{display:inline-block;visibility:visible}.qtipmodal-ie6fix{position:absolute!important}.ui-carousel{height:100px;margin:0;overflow:auto;padding:0;position:relative;width:300px}.ui-carousel>.wrapper{margin:0;padding:0;width:9999px}.ui-carousel>.wrapper>*{border:0;display:block;float:left;height:100px;overflow:hidden;width:100px}.jstree-default .jstree-icon,.jstree-default .jstree-node{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-animated,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-context,.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{color:#666}.jstree-default .jstree-disabled.jstree-hovered{box-shadow:none}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:transparent;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:transparent}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") 0 0 repeat}.jstree-default>.jstree-wholerow-ul .jstree-clicked,.jstree-default>.jstree-wholerow-ul .jstree-hovered{background:transparent;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top,#beebff,#a8e4ff);background:linear-gradient(180deg,#beebff 0,#a8e4ff)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon,.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-icon,.jstree-default .jstree-node{background-image:url(images/32px.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:transparent}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default>.jstree-no-dots .jstree-node{background:transparent}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled,.jstree-default .jstree-disabled.jstree-hovered{background:transparent}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node{background:transparent}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(images/throbber.gif) 50% no-repeat}.jstree-default .jstree-file{background:url(images/32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(images/32px.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-er,#jstree-dnd.jstree-default .jstree-ok{background-image:url(images/32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:transparent;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default .jstree-ellipsis{overflow:hidden}.jstree-default .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}.jstree-default.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==")}.jstree-default.jstree-rtl .jstree-last{background:transparent}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon,.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-icon,.jstree-default-small .jstree-node{background-image:url(images/32px.png)}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:transparent}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-small>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled,.jstree-default-small .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(images/throbber.gif) 50% no-repeat}.jstree-default-small .jstree-file{background:url(images/32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(images/32px.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-er,#jstree-dnd.jstree-default-small .jstree-ok{background-image:url(images/32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:transparent;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small .jstree-ellipsis{overflow:hidden}.jstree-default-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}.jstree-default-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==")}.jstree-default-small.jstree-rtl .jstree-last{background:transparent}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon,.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-icon,.jstree-default-large .jstree-node{background-image:url(images/32px.png)}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:transparent}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-large>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled,.jstree-default-large .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(images/throbber.gif) 50% no-repeat}.jstree-default-large .jstree-file{background:url(images/32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(images/32px.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-er,#jstree-dnd.jstree-default-large .jstree-ok{background-image:url(images/32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:transparent;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large .jstree-ellipsis{overflow:hidden}.jstree-default-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==")}.jstree-default-large.jstree-rtl .jstree-last{background:transparent}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url(images/40px.png)}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive .jstree-node{background:transparent}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:transparent}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive>.jstree-striped{background:transparent}.jstree-default-responsive .jstree-wholerow{border-top:1px solid hsla(0,0%,100%,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon{background-image:url(images/40px.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:transparent}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(images/40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(images/40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}.jstree-children,.jstree-container-ul,.jstree-node{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-anchor,.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:active,.jstree-anchor:hover,.jstree-anchor:link,.jstree-anchor:visited{text-decoration:none;color:inherit}.jstree-icon,.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-anchor>.jstree-themeicon-hidden,.jstree-hidden,.jstree-no-icons .jstree-themeicon,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jstree-contextmenu .jstree-anchor{-webkit-user-select:none;-webkit-touch-callout:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==");background-position:100%;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-no-icons{margin-left:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context .vakata-contextmenu-disabled>a>i{filter:grayscale(100%)}.vakata-context li>a>i{text-decoration:none;display:inline-block;height:2.4em;background:transparent;margin:0 0 0 -2em;vertical-align:top;text-align:center}.vakata-context li>a>i,.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7");background-position:0;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-copy,#jstree-dnd .jstree-icon{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default-dark .jstree-icon,.jstree-default-dark .jstree-node{background-repeat:no-repeat;background-color:transparent}.jstree-default-dark .jstree-anchor,.jstree-default-dark .jstree-animated,.jstree-default-dark .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default-dark .jstree-context,.jstree-default-dark .jstree-hovered{background:#555;border-radius:2px;box-shadow:inset 0 0 1px #555}.jstree-default-dark .jstree-clicked{background:#5fa2db;border-radius:2px;box-shadow:inset 0 0 1px #666}.jstree-default-dark .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default-dark .jstree-disabled{color:#666}.jstree-default-dark .jstree-disabled.jstree-hovered{box-shadow:none}.jstree-default-dark .jstree-disabled.jstree-clicked{background:#333}.jstree-default-dark .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark .jstree-search{font-style:italic;color:#fff;font-weight:700}.jstree-default-dark .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked{background:transparent;box-shadow:none}.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#555}.jstree-default-dark.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:transparent}.jstree-default-dark.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#555}.jstree-default-dark>.jstree-striped{min-width:100%;display:inline-block;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") 0 0 repeat}.jstree-default-dark>.jstree-wholerow-ul .jstree-clicked,.jstree-default-dark>.jstree-wholerow-ul .jstree-hovered{background:transparent;box-shadow:none;border-radius:0}.jstree-default-dark .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default-dark .jstree-wholerow-hovered{background:#555}.jstree-default-dark .jstree-wholerow-clicked{background:#5fa2db;background:-webkit-linear-gradient(top,#5fa2db,#5fa2db);background:linear-gradient(180deg,#5fa2db 0,#5fa2db)}.jstree-default-dark .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default-dark .jstree-anchor{line-height:24px;height:24px}.jstree-default-dark .jstree-icon,.jstree-default-dark .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default-dark.jstree-rtl .jstree-node{margin-right:24px}.jstree-default-dark .jstree-wholerow{height:24px}.jstree-default-dark .jstree-icon,.jstree-default-dark .jstree-node{background-image:url(images/32px.png)}.jstree-default-dark .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default-dark .jstree-last{background:transparent}.jstree-default-dark .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default-dark .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default-dark .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default-dark .jstree-themeicon{background-position:-260px -4px}.jstree-default-dark>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-dark>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-dark>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default-dark>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default-dark .jstree-disabled,.jstree-default-dark .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-dark .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark .jstree-checkbox{background-position:-164px -4px}.jstree-default-dark .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default-dark.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default-dark.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default-dark .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default-dark .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default-dark .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark>.jstree-striped{background-size:auto 48px}.jstree-default-dark.jstree-rtl .jstree-node{background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default-dark.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default-dark.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default-dark .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(images/throbber.gif) 50% no-repeat}.jstree-default-dark .jstree-file{background:url(images/32px.png) -100px -68px no-repeat}.jstree-default-dark .jstree-folder{background:url(images/32px.png) -260px -4px no-repeat}.jstree-default-dark>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default-dark .jstree-er,#jstree-dnd.jstree-default-dark .jstree-ok{background-image:url(images/32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark i{background:transparent;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default-dark .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default-dark .jstree-er{background-position:-36px -68px}.jstree-default-dark .jstree-ellipsis{overflow:hidden}.jstree-default-dark .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==")}.jstree-default-dark-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-dark-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-dark-small .jstree-icon,.jstree-default-dark-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-dark-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-dark-small .jstree-wholerow{height:18px}.jstree-default-dark-small .jstree-icon,.jstree-default-dark-small .jstree-node{background-image:url(images/32px.png)}.jstree-default-dark-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-dark-small .jstree-last{background:transparent}.jstree-default-dark-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-dark-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-dark-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-dark-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-dark-small>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-dark-small>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-dark-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-dark-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-dark-small .jstree-disabled,.jstree-default-dark-small .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-dark-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-dark-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-dark-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-dark-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-dark-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark-small>.jstree-striped{background-size:auto 36px}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-dark-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-dark-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-dark-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(images/throbber.gif) 50% no-repeat}.jstree-default-dark-small .jstree-file{background:url(images/32px.png) -103px -71px no-repeat}.jstree-default-dark-small .jstree-folder{background:url(images/32px.png) -263px -7px no-repeat}.jstree-default-dark-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-dark-small .jstree-er,#jstree-dnd.jstree-default-dark-small .jstree-ok{background-image:url(images/32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark-small i{background:transparent;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-dark-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-dark-small .jstree-er{background-position:-39px -71px}.jstree-default-dark-small .jstree-ellipsis{overflow:hidden}.jstree-default-dark-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==")}.jstree-default-dark-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-dark-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-dark-large .jstree-icon,.jstree-default-dark-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-dark-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-dark-large .jstree-wholerow{height:32px}.jstree-default-dark-large .jstree-icon,.jstree-default-dark-large .jstree-node{background-image:url(images/32px.png)}.jstree-default-dark-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-dark-large .jstree-last{background:transparent}.jstree-default-dark-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-dark-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-dark-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-dark-large .jstree-themeicon{background-position:-256px 0}.jstree-default-dark-large>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-dark-large>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-dark-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-dark-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-dark-large .jstree-disabled,.jstree-default-dark-large .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-dark-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark-large .jstree-checkbox{background-position:-160px 0}.jstree-default-dark-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-dark-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-dark-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-dark-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark-large>.jstree-striped{background-size:auto 64px}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-dark-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-dark-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-dark-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(images/throbber.gif) 50% no-repeat}.jstree-default-dark-large .jstree-file{background:url(images/32px.png) -96px -64px no-repeat}.jstree-default-dark-large .jstree-folder{background:url(images/32px.png) -256px 0 no-repeat}.jstree-default-dark-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-dark-large .jstree-er,#jstree-dnd.jstree-default-dark-large .jstree-ok{background-image:url(images/32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark-large i{background:transparent;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-dark-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-dark-large .jstree-er{background-position:-32px -64px}.jstree-default-dark-large .jstree-ellipsis{overflow:hidden}.jstree-default-dark-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==")}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:transparent;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(images/40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(images/40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-dark-responsive .jstree-icon{background-image:url(images/40px.png)}.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl,.jstree-default-dark-responsive .jstree-node{background:transparent}.jstree-default-dark-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-dark-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-dark-responsive .jstree-icon,.jstree-default-dark-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-dark-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:transparent}.jstree-default-dark-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-dark-responsive .jstree-checkbox,.jstree-default-dark-responsive .jstree-ocl,.jstree-default-dark-responsive .jstree-themeicon{background-size:120px 240px}.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl,.jstree-default-dark-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-dark-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-dark-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-dark-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-dark-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-dark-responsive .jstree-checkbox,.jstree-default-dark-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-responsive .jstree-checked>.jstree-checkbox,.jstree-default-dark-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-dark-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-dark-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-dark-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-dark-responsive>.jstree-striped{background:transparent}.jstree-default-dark-responsive .jstree-wholerow{border-top:1px solid #666;border-bottom:1px solid #000;background:#333;height:40px}.jstree-default-dark-responsive .jstree-wholerow-hovered{background:#555}.jstree-default-dark-responsive .jstree-wholerow-clicked{background:#5fa2db}.jstree-default-dark-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #111}.jstree-default-dark-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #111;border-top:0}.jstree-default-dark-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-dark-responsive .jstree-checkbox,.jstree-default-dark-responsive .jstree-icon,.jstree-default-dark-responsive .jstree-node,.jstree-default-dark-responsive .jstree-node>.jstree-ocl,.jstree-default-dark-responsive .jstree-themeicon{background-image:url(images/40px.png);background-size:120px 240px}.jstree-default-dark-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-dark-responsive .jstree-last{background:transparent}.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-dark-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-dark-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-responsive .jstree-file{background:url(images/40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-dark-responsive .jstree-folder{background:url(images/40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-dark-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}.jstree-default-dark{background:#333}.jstree-default-dark .jstree-anchor{color:#999;text-shadow:1px 1px 0 rgba(0,0,0,.5)}.jstree-default-dark .jstree-checked,.jstree-default-dark .jstree-clicked,.jstree-default-dark .jstree-hovered{color:#fff}#jstree-marker.jstree-default-dark{border-left-color:#999;background:transparent}.jstree-default-dark .jstree-anchor>.jstree-icon{opacity:.75}.jstree-default-dark .jstree-checked>.jstree-icon,.jstree-default-dark .jstree-clicked>.jstree-icon,.jstree-default-dark .jstree-hovered>.jstree-icon{opacity:1}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==")}.jstree-default-dark.jstree-rtl .jstree-last{background:transparent}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==")}.jstree-default-dark-small.jstree-rtl .jstree-last{background:transparent}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==")}.jstree-default-dark-large.jstree-rtl .jstree-last{background:transparent}a{color:#0052c7;text-decoration:underline}a:hover,nav a{text-decoration:none}.rup-enlaceCancelar{float:right;margin:.5em .4em .5em 0;cursor:pointer;padding:.2em .6em .3em;line-height:1.4em;width:auto;overflow:visible;color:#00f}input.ui-button{padding:.2em .6em}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{font-weight:700}.ui-icon{margin-top:0}.rup_icon{float:left;padding-right:.5em}.rup_external_link{display:inline;left:inherit!important;margin-top:.15em!important;position:static}.rup-icon,.ui-button:hover .ui-icon.rup-icon,.ui-icon.rup-icon{background-image:url(images/rup-icons.png);background-repeat:no-repeat;display:inline-block;overflow:hidden}.rup-icon-ajax-loader{background-position:0 0;width:16px;height:16px}.rup-icon-alert-24{background-position:0 -66px;width:24px;height:24px}.rup-icon-alert{background-position:0 -140px;width:16px;height:16px}.rup-icon-cancel-disabled{background-position:0 -272px;width:16px;height:16px}.rup-icon-cancel{background-position:0 -338px;width:16px;height:16px}.rup-icon-check{background-position:0 -404px;width:16px;height:16px}.rup-icon-check_all{background-position:0 -470px;width:16px;height:16px}.rup-icon-child{background-position:0 -536px;width:16px;height:16px}.rup-icon-clone-disabled{background-position:0 -602px;width:16px;height:16px}.rup-icon-clone{background-position:0 -668px;width:16px;height:16px}.rup-icon-close-hover{background-position:0 -734px;width:16px;height:16px}.rup-icon-close{background-position:0 -800px;width:16px;height:16px}.rup-icon-confirm24{background-position:0 -866px;width:24px;height:24px}.rup-icon-confirm{background-position:0 -940px;width:16px;height:16px}.rup-icon-contextmenu-add{background-position:0 -1006px;width:16px;height:16px}.rup-icon-contextmenu-check-all{background-position:0 -1072px;width:16px;height:16px}.rup-icon-contextmenu-check{background-position:0 -1138px;width:16px;height:16px}.rup-icon-contextmenu-child{background-position:0 -1204px;width:16px;height:16px}.rup-icon-contextmenu-clone{background-position:0 -1270px;width:16px;height:16px}.rup-icon-contextmenu-copy{background-position:0 -1336px;width:16px;height:16px}.rup-icon-contextmenu-cut{background-position:0 -1402px;width:16px;height:16px}.rup-icon-contextmenu-delete{background-position:0 -1468px;width:16px;height:16px}.rup-icon-contextmenu-descendent{background-position:0 -1534px;width:16px;height:16px}.rup-icon-contextmenu-door{background-position:0 -1600px;width:16px;height:16px}.rup-icon-contextmenu-edit{background-position:0 -1666px;width:16px;height:16px}.rup-icon-contextmenu-paste{background-position:0 -1732px;width:16px;height:16px}.rup-icon-contextmenu-uncheck-all{background-position:0 -1798px;width:16px;height:16px}.rup-icon-contextmenu-uncheck{background-position:0 -1864px;width:16px;height:16px}.rup-icon-date-calendar{background-position:0 -1930px;width:16px;height:16px}.rup-icon-delete-disabled{background-position:-74px 0;width:16px;height:16px}.rup-icon-delete{background-position:-74px -66px;width:16px;height:16px}.rup-icon-door-out{background-position:-74px -132px;width:16px;height:16px}.rup-icon-download{background-position:-74px -198px;width:16px;height:16px}.rup-icon-dropdown{background-position:-74px -264px;width:16px;height:16px}.rup-icon-edit-disabled{background-position:-74px -330px;width:16px;height:16px}.rup-icon-edit{background-position:-74px -396px;width:16px;height:16px}.rup-icon-element-count{background-position:-74px -462px;width:16px;height:16px}.rup-icon-error-24{background-position:-74px -528px;width:24px;height:24px}.rup-icon-error{background-position:-74px -602px;width:16px;height:16px}.rup-icon-exclamation{background-position:-74px -668px;width:16px;height:16px}.rup-icon-file-csv{background-position:-74px -734px;width:16px;height:16px}.rup-icon-file-dll{background-position:-74px -800px;width:16px;height:16px}.rup-icon-file-doc{background-position:-74px -866px;width:16px;height:16px}.rup-icon-file-exe{background-position:-74px -932px;width:16px;height:16px}.rup-icon-file-gif{background-position:-74px -998px;width:16px;height:16px}.rup-icon-file-jpg{background-position:-74px -1064px;width:16px;height:16px}.rup-icon-file-js{background-position:-74px -1130px;width:16px;height:16px}.rup-icon-file-ods{background-position:-74px -1196px;width:16px;height:16px}.rup-icon-file-pdf{background-position:-74px -1262px;width:16px;height:16px}.rup-icon-file-ppt{background-position:-74px -1328px;width:16px;height:16px}.rup-icon-file-txt{background-position:-74px -1394px;width:16px;height:16px}.rup-icon-file-xls{background-position:-74px -1460px;width:16px;height:16px}.rup-icon-file-zip{background-position:-74px -1526px;width:16px;height:16px}.rup-icon-file{background-position:-74px -1592px;width:16px;height:16px}.rup-icon-filter-disabled{background-position:-74px -1658px;width:16px;height:16px}.rup-icon-filter{background-position:-74px -1724px;width:16px;height:16px}.rup-icon-filtrar{background-position:-74px -1790px;width:16px;height:16px}.rup-icon-hierarchy-down{background-position:-74px -1856px;width:16px;height:16px}.rup-icon-hierarchy-up{background-position:-74px -1922px;width:16px;height:16px}.rup-icon-new-disabled{background-position:-148px 0;width:16px;height:16px}.rup-icon-new{background-position:-148px -66px;width:16px;height:16px}.rup-icon-ok-24{background-position:-148px -132px;width:24px;height:24px}.rup-icon-ok{background-position:-148px -206px;width:16px;height:16px}.rup-icon-padlock{background-position:-148px -272px;width:16px;height:16px}.rup-icon-parent{background-position:-148px -338px;width:16px;height:16px}.rup-icon-print-disabled{background-position:-148px -404px;width:16px;height:16px}.rup-icon-print{background-position:-148px -470px;width:16px;height:16px}.rup-icon-save-disabled{background-position:-148px -536px;width:16px;height:16px}.rup-icon-save{background-position:-148px -602px;width:16px;height:16px}.rup-icon-search-disabled{background-position:-148px -668px;width:16px;height:16px}.rup-icon-search{background-position:-148px -734px;width:16px;height:16px}.rup-icon-separator-arrow{background-position:-148px -800px;width:3px;height:5px}.rup-icon-time-clock{background-position:-148px -1053px;width:16px;height:16px}.rup-icon-uncheck{background-position:-148px -1119px;width:16px;height:16px}.rup-icon-unlock{background-position:-148px -1185px;width:16px;height:16px}.rup-icon-upload{background-position:-148px -1251px;width:16px;height:16px}.rup-icon-wizard-arrow-current{background-position:-148px -1317px;width:11px;height:35px}.rup-icon-wizard-arrow-done-last{background-position:-148px -1402px;width:13px;height:35px}.rup-icon-wizard-arrow-last-current{background-position:-148px -1487px;width:11px;height:35px}.rup-icon-wizard-arrow-last{background-position:-148px -1572px;width:11px;height:35px}.rup-icon-wizard-arrow{background-position:-148px -1657px;width:11px;height:35px}.rup-icon-wizard-next{background-position:-148px -1742px;width:32px;height:32px}.rup-icon-wizard-prev{background-position:-148px -1824px;width:32px;height:32px}.rup-icon-wizard-submit{background-position:-148px -1906px;width:32px;height:32px}.rup_accordion{display:none}.ui-accordion .ui-accordion-header{width:auto}.ui-accordion .ui-accordion-header.ui-state-active{border-bottom:none}.ui-accordion.ui-accordion-disabled.ui-state-disabled{opacity:1}.rup-breadCrumb_main LI UL{position:absolute;float:left}.rup-breadCrumb_main,.rup-breadCrumb_main LI,.rup-breadCrumb_main UL,.rup-breadCrumb_main UL LI{list-style:none;margin:0;padding:0}.rup-breadCrumb_main UL{display:none}.rup-breadCrumb_main{background:none;padding-right:65em;position:relative}.rup-breadCrumb_main LI{border-right:none;height:16px;padding:5px 4px 5px 10px;width:auto}.rup-breadCrumb_main LI.rup-breadCrumb_current{border-right:none;background:none}.rup-breadCrumb_main LI A{text-decoration:underline;color:#0a8ecc}.rup-breadCrumb_main LI.hover A,.rup-breadCrumb_main LI A:HOVER{color:#0a8ecc}.rup-breadCrumb_main LI IMG.rup-icon,.rup-breadCrumb_main LI SPAN.rup-icon{display:inline-block;margin-left:1em}.rup-breadCrumb_main LI.rup-breadCrumb_current A{color:#333;font-weight:700}.rup-breadCrumb_main LI UL{padding:3px;background:#333;font-size:11px;width:180px;top:25px;z-index:1000}.rup-breadCrumb_main LI UL LI{float:left;width:100%;border-right:none;height:auto}.rup-breadCrumb_main LI UL LI A,.rup-breadCrumb_main LI UL LI A:visited{text-decoration:none!important;color:#ccc!important;display:block;padding:4px;border-bottom:1px dotted #666}.rup-breadCrumb_main LI UL LI A:HOVER{background:#444}.rup-breadCrumb_main LI UL LI A:FOCUS{background:#444;border-style:dotted;border-width:thin;outline:none}.rup-breadCrumbs{width:100%;position:relative;padding-bottom:2.5em;clear:both}.rup-breadCrumb_main{padding-right:0}.rup-breadCrumb_link{cursor:pointer}.rup-breadCrumb_logoutDiv .rup-breadCrumb_logoutImg{display:inline-block;background:url(data:image/gif;base64,R0lGODlhEAAQAIQeAO/v79GdFee+Su/TbvPdgMXFxevJXeO0OPrhkfz10v354v3328SCDti0If377dSlF+vr68mMEcfHx/rwucySEvvzx9XV1ditGvnsqNy2HMN/Dffnkvnadq2trf///////yH5BAEKAB8ALAAAAAAQABAAAAVp4CeOZGl2aGqOnWe9UtGtLZCi0lx2NtnJpx4LSMp0IJ1GJtP4dS5Fj0OxSCQqEwwiUFRgNhvCwCA4ICLdb3hcRjCKC7WYfOBoigk5u34fZfJgc2V2JBcIHIiJiX0iDwEUEQwak5SMK5chADs=) no-repeat 100%}.rup-breadCrumb_logoutDiv .rup-breadCrumb_logoutImg_active{display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAcZJREFUeNqMk89LImEYx7+T0+YWpMkyBBuSFCmegrrMpcOed/+HPezF9dalg0Ed7NQpxLwb9FdsevAQeIqQKFFkRVkIR1dn0syZeXufcawoJ3vgM/PO9x2+z495R2CMYVyk0+mXjz85Ec4GJ89JcU5oQ4RD9Pv90TLm9/vj4XAYXq8XrVZLLhQKcr1e9/O9A0eDbrdLt+1AIBAPhULI5XJQFAWSJEGWZUoQr1arzSknA03TiEgwGEQ2m0WlUtntdDozpVJpN5PJgExp39EgFouh1+utmqaJcrkMVVWPOA+cw2KxCEEQSAs7tjBqg5ug2WwimUxqtvwQjUaRSCRo7RLO9sRje8KTIvVtf/D7tSiKbk9kZesX5qQgPvsCmHb7gKlPMHvX0Pu8gv//cNf4i+KfFCV5a0AXo3sBQ1NgiDUIugTBNY9B4xTGQIeu3nFUx7KsITJmWgAcNoQxw8bWHEJ8MjAJA+3aFZSbPJbWPfxZtzT2jsHwM9JxtjIx3F6eoV294H0ZQ0xiooFdNn/x6+YPzH5Zfs5OBuyDBjQD98Ii1r7vPM8A5uQW6I+0oDlY7dhrKn2kOQ1Rv2+nKvnzDx2kceKjAAMALocWITpFuiYAAAAASUVORK5CYII=) no-repeat 100%}.rup-breadCrumb_logoutDiv .rup-breadCrumb_exitImg{display:inline-block;float:left}.rup-dropdown-btn-group{display:inline-block}.rup-dropdown{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.rup-dropdown-button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:0;width:25px}.rup-dropdown-dialog{box-shadow:0 6px 12px rgba(0,0,0,.176)}.rup-dropdown-btn-group .ui-button-icon-only.rup-dropdown-button,.rup-wizard .ui-button-icon-only.rup-dropdown-button.rup-wizard_submitButton,.rup-wizard a.ui-button-icon-only.rup-dropdown-button.rup-wizard_next,.rup-wizard a.ui-button-icon-only.rup-dropdown-button.rup-wizard_prev,.ui-button-icon-only.rup-dropdown-button.ui-button.rup-button,a.ui-button-icon-only.rup-dropdown-button.rup-toolbar_menuButton.ui-button,button.ui-button-icon-only.rup-dropdown-button{width:1.8em}.rup-dropdown-dialog>.ui-widget-header{background:none;border:0}.rup-dropdown-option-list{display:none;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.176);border:1px solid rgba(0,0,0,.15);list-style:outside none none;margin:2px 0 0;padding:5px 0;position:absolute;z-index:9000;font-size:1.1em}.rup-dropdown-option-list.open{display:block}.rup-dropdown-option-list>li>a{clear:both;color:#333;display:block;font-weight:400;line-height:1.42857;padding:3px 20px;white-space:nowrap}.rup-dropdown-option-list.rup-toolbar_menuButtonContainer>li>a{padding:0}.rup-dropdown-option-list .divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.rup-dropdown-btn-group .rup-toolbar_button.rup-dropdown{border-bottom-right-radius:0;border-top-right-radius:0}.rup-button .ui-icon.fa{height:15px;padding-top:2px}.rup-button .ui-icon.fa,.rup-button:hover .ui-icon.fa{background-image:none;text-indent:inherit}.context-menu-root{color:#000}.context-menu-item.icon-check{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAVVJREFUeNrEU7FugzAQPUcFhZRmAoaMXbpEXdv/YM7OxtwJMXXJwhBlyMQ/5CPo3EodKiGxoQwhtEAiQpT6WWUgIWolhp50enf2u3c2nNnxeKQu1qOO1lngqg4cxyHG2C0PH7jfXOB/cX/h1w5d120KVFUFeLRt+8kwjHFb9Wq1evM875mH4dkJyrIEDDVNG/+INSyOYxqNRmPOG7Z+g91uB2coPvXNZkPL5VLE4IB7UeBwONBsNqP1ek37/V6g7/uU5zlh7zeBHorQcT6fUxiGApGbpikEwWkVKIoCLk4wmUwoSRJaLBYCkSuKIk4ADrhnAtvtFi4EBoMBWZZFaZoKRI7u2AMH3DOBIAjQLYui6F2WZdJ1nabTqUBJkghr2AMH3NpY/Rb4EOmqqt73+/07Hl+3zQHn5vz+H1mWvfI4PhVAEf4x+8MEf/K6rCHwb4/pW4ABAGkv7mEJb7TSAAAAAElFTkSuQmCC)}.context-menu-item.icon-check_all{background-image:url(images/check_all.png)}.context-menu-item.icon-uncheck{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQVJREFUeNrEU00LgkAQ3V1XkbJO5g/o1EG61r/y3Ek8dfZf2bkg6CB4Cy9CLSp+NgMVWGsFHhoY5uG+ebwdZ2nbtmRIMDIwBgvwB3Bdl1BK5wBXkJMe/hVyB9cOPc/rClRVhWXtOM7Gsixb1h3H8cH3/S3A8M1BURRYpqZp2next8Az4E2lV8jzHAvF5qZp5ANjDHn0o0Bd16TPAef8qwAry7JXAHcGeEwqkKbp0wGKyAL+EvLkDrIs+yqgKAryqHSRgiAgSZKIKIqOmqYRVVU7id/wDDnIfbp6vAWwNzMMY6nr+gLwqGcGKczgJITYAz6/CoxxDxD+sMEX6BMdgb89ppsAAwDi5ZEgMNjfAQAAAABJRU5ErkJggg==)}.context-menu-item.icon-uncheck_all{background-image:url(images/uncheck_all.png)}.context-menu-item.icon-child{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAbhJREFUeNqMkk1Lw0AQht+kW2ObNH6AqEEFweJB7NGDB4t4EUR/gHhSqScV/AsevAnqQZCKF/EPeBGhoFexhwqCVA9FUYtosWI/kjSJm2jLNm3VgVmGeYedmd2HG4s+gzWO4ybosUpDhUk/wbK2LMuKsbXnC10gRqkEl62ODneEA4SXPz41pDjgBlywJZmxtZi7mKiFgjunZN/y8quuQ9M0WMUi+jVNvkxlFNM0XaU9IP5AwH0Bdqda6MQWuxbGD15Qz0gum61J5nIi2G48z6NeHUDfgF4PnY5ZXoW+STy0nq7tREjcQ4gTCz4fvM3N33mptdUZ8WNnEoIgwGwPLuXFPkcc0K8jd96hPTv25+7BZ26hqirk5ZPKioTtYhjGtCdz2y3RQtvsOSSkI4xu//lx1WTlQJjZwEN0obt3es3pCNpAvTiEMDJHX/EHhuPNSO/ifjU34f10BRxTzft5wZ9nwWHBcutn850xUtJ1BhyxHji/6jZIDcEJiCJkSWqoV0D6C5zfdAekv8BprFOQnuOniVA6VAOO9niVfDpaUZTZ7WQDPQEMOh/URL2Nugf/N4P6O11L/RJgAELP+1i5uXi0AAAAAElFTkSuQmCC)}.context-menu-item.icon-descendent{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrUlEQVQ4jaWSXUgcdxTFf/+d2ZndmbXV3c0msbUS0lRFhJSgkWiooRCKDxYCoRhCHqQEST8IBApL6VOfhOQtfQnEEDSQKARMSx9KbWzT2qKl+Wg02ATE0BqwuuOuOzszuzPz70Ojja2FQu/TvdxzD+eee+F/hvi3RluDQiwWBcB1K0zNBf+d4IUkPBjM9OsJ7S0Ar+gNNvX9PvRb7p9YdSuCSAT8taWOiE8XgO9wPxJhaCvslgQyBM/GCSp/1n4ZV4ZbbrB5hfb2dgYGBnqF4CXNeRQLRLxfEHoR6Q2W4y97UjKfzWZHJicnN2aU9aQqDudP12bM9CtjWnl+7XEuPr9U4NtcUf7gVqSXUhfaItLpa0t/f3l0/Ikb/F1RXRpWr2lXnBvI/Eh0vKPpL3Hd+wSFUXXGGUOuXtXOPWc849d6UpPMUMqLXH5FD+28sFLp2g3Q89XbsVdFLp/TQrugWJnMjs0mmjHofz97aNI00p40HE0riWOnEsfvzb837DgOb7599sR3ob1cxihqutv84UfytXffOfm17T714MwRXevtWLqUFLOLt+/OdR18cap+p/bTqcaaX0cOvyqqW3ctXsiIO2O37/xytLNuunu3+WNPtboy9NVdX6oAMenFqgrTnYkQ48ksXrKBdkWlOSixTUSrEuniraaKH21dXTC8VGN+v4iwJ/RQgbIK8OU9CkKSAio3f4ZElF4hiBfLYqXt9TeOfJbbfl1VUJsaJqKffJpvRaBMzFIGENlsVk0mk6ZhGKaqqoZhGFEhhAGgSJdO5eOLy2HDF7XKdN/DoOeDGfvAN77vlxzHsS3LssXw8PBeoBuoB2qAqqf/kXjmSiFQBAJgDbCABeBz0dLSQiqVQtd1TNMEELquoyjKxokBgiAIPc8DkKVSCdd1sSyLPwDiLQq1/0crjgAAAABJRU5ErkJggg==)}.context-menu-list{margin:0;padding:0;min-width:120px;max-width:250px;display:inline-block;position:absolute;list-style-type:none;border:1px solid #ddd;border-radius:3px;background:#eee;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.5);-moz-box-shadow:0 2px 5px rgba(0,0,0,.5);-ms-box-shadow:0 2px 5px rgba(0,0,0,.5);-o-box-shadow:0 2px 5px rgba(0,0,0,.5);box-shadow:0 2px 5px rgba(0,0,0,.5);font-size:11px}.context-menu-item{display:block;padding:2px 2px 2px 4px;background-color:#eee;position:relative;-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none}li[id$=_contextMenuToolbar]{padding:4px 2px 4px 4px}.context-menu-separator{padding-bottom:0;border-bottom:1px solid #ddd}.context-menu-item>label>input,.context-menu-item>label>textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.context-menu-item.hover{cursor:pointer;background-color:#bababa}.context-menu-item.disabled{color:#666;cursor:default}.context-menu-input.hover,.context-menu-item.disabled.hover{cursor:default;background-color:#eee}.context-menu-submenu:after{content:">";color:#666;position:absolute;top:0;right:3px;z-index:1}.context-menu-item.icon{min-height:18px;background-repeat:no-repeat;background-position:4px 2px}.context-menu-item.icon-edit{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAH8SURBVDjLjZPfS1NhGMdXf0VEQhDUhdCN4X0IYT8ghIJQM0KoC4vushZddLELKyRhQQkSFIKEGEkUCI2oxVhepG5zi1xbc0u3cDs7Z+ec/ezT+x62scmmHvhwDrzP93Pe57znsQE2cR0SdAm6d+GwYL/M1LBVBV35fF4plUqVcrlMK8Q6TqdzYrukJuiW4Vwuh67rdbLZLJlMhmQyaUnigVlC05f4+dbB0tQplp92DsnwPimQBaZpUigUrLtE0zQURSGVSqHF37DhGkVZeQdagszKLJ7HvZtNAhmuIQWGYaCqKps/ZkivPqCwPs/Gp0cYvjnKUTe+F9fMJoFoo96zfJZ9K+sLpP33qRhujPANtr7dJPhqmO/PBxX3+PljTYLtqImPpH13qZge9LUrmLEB1FU7sZd9jJw5MljNthYk/KLnxdFqeAjzdz9Z/z3Ck2fRE36qx9pakAjME1y4Lbb9GTMyTD52GUXsZO3ZadTkL6umrSD4ZZrAezvLH54Q915EjwywtXSH8FQf+t+I9V12FLwe6wE1SmjyAi77Qb6Kt3rGe9H+hKzwrgLH9eMUPE4K3gm8jpPMjRwlHfNTLBbr7Cjo7znA2NVOXA/PsThzi2wyah1pI+0E/9rNQQsqMtM4CyfE36fLhb2ERa0mB7BR0CElexjnGnL0O2T2PyFunSz8jchwAAAAAElFTkSuQmCC)}.context-menu-item.icon-cut{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIaSURBVDjLY/j//z8DLqyaNVPLrnr5PMnESay41DDgM8Cuellm+7rTT0RiJ3Aii4snTGIiygDnupV5c/dc/QF0AT9MTCl9hq5P67qtRBng3ri6ZN2Je/9lU6bKgfgSCZPVJ2+7+CR9+u5tRBng07K2+sCVZ//lUqepCMX0y87cefnO9B2XH4rGTZQgyoCA9vUt5+69/a+QNj25f/O504evPf+jkDbNmuhADOna1Hn50cf/fZvPf7vz8ut/87JFOUTFAq9tHDiUI/u3dd8Fatxy9tH/xCk7FxCMRiGXNCmjzLmrneo2XtLJmLckffqesxcefPgfP3HbUcHgRha8Bgg5p0kANd5OWHXnf8i8C59TN7/6P3PXjf8PX//4H965bg+vZbgjXgOMsuasiVt67a+Ub4GdhHeef8LaJ/9n773zf+nZ9//Tt7//H7vsxn9Zz7QUnAZ4de375Fi3Ahy/RnnTpqdteP6/ZNGpf+kbn/7XjZty0Ld3x2XrgvVfuA08ObAa4NK09XnUkmsvHJvWHU3b9ua/Wd7yG+Y5a14HTj3yGSSvHlZW5lCx/b+QRZA0VgPkgsvDAqcffxO17MY/s5xlp7lMAyVMM1Y8DF9w8RenlqOcWVbfHPvSLX94jX0FcMaCiGu6hJhHlgKMrx83/1jypuf//Sftf5q0+u5/o6RFN0jKjTyGXuyGiQuu25dt+26SuuQBj5G3CLoaAMk4ntedg7qJAAAAAElFTkSuQmCC)}.context-menu-item.icon-copy{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADHSURBVCjPdZFNbsIwFAa/5B5FuQPCOQ9HQuqCq3SHUAtrrgFCSKQk8Y80XTjYJqiajRfj55GftNBKJtGoRiXSytlAZORzM1ckExjouHEm0LPdqHkTRnruXAgEPGpVq1JVCJ6RB3dOfHFEa7W5RzLx3kjPDse8ZxKisue9JwkByzevPQGZQnD8kHuunEvB43EcyD0dt/kEzzGdLD2/k9Ckb261zs9ZhiggVRO12jzN4Z5C+tQq90T+ETK20/J1tU2xeCOjpT7+APfbTaDnTb/mAAAAAElFTkSuQmCC)}.context-menu-item.icon-clone{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3QcRCAkM7pbvYQAAAUxJREFUOMudk09Kw0AUxr/5UwkI7nKA4h3atTeQLl24CC3iCewFiruSE2RTcdUbdNm91BNkqa0oCC2ZJMx7LpppY2Jq9QcDAzPfN+97MyOw5RSAKMZPpACyYi4BkFvQAKCUOl+tVo8AuGzCzCAiNRwO76MoeiiEVDWB1rpDRLxer3mz2eyGI0mSz8FgcOUOrCK01h1mZmMMG2M4SRJO05TLLJfLt16vdwngpNEgyzLO87wmdszn85cgCK6LCHUDay0fYvG8qMX5lklKiUMICHiedzYajUJjzPvrxWR2WFGBedt43/f9brfbRjXL7+y3Z3mKfxhwKY7kWQDSx5W+FQqxf6jEVgIQRxmUhXtXSbtbsNZ+hGF4S0Qcx3G73+/f1dJLiVar1RCnhHsTTRARExGPx+MbVwH/pY0ujigmtR6U4zR8b1ZKYTqdPgHAF45ZEL7hCcriAAAAAElFTkSuQmCC)}.context-menu-item.icon-paste{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAH+SURBVDjLdZI7aFRREIa/k3u5cclGwiXEF9GInSCIoF0qa1/BynJdyBYhtaRJSrsFK4XtBCGFQRALm4BYKQg2ti5JQEh2hay66ObMmbG49+4jSwYOc4rzfzP/nHFmBsCL6uWrwDfGo7PcaM5wQrjnjxduABvAnXJ6hkdr63TbnwGYmr3Fy/Un/O3+AngFbC03mq+HATGwdfv+g4ul8jT++1fMjNDrAmBmLF6bZ+LcFczs4fs3b+8CY4BLpfJpjn4fICo0N+tgBhht+4Ka4ff3ODV7ITFInHPOCt85ADRgIkzMnEWDYKb8aHf52fmHAbp/iNsTdlo9gJvOuQNg18w0BjBVVAT1PdT3wIxW65B7a++I4qTf7hKwIfKp0Wg8W1lZqTvndnOAoMFjprn37ERxgvceEUFE8N6TpimVSmU1jmNqtVp9IgMEVDwmHg0BDYppBnPOEUURURThnAMgSRKq1eoqMBcXAMRjQTFRVA2VDBBFUT9PTk7S6XQIIZCm6WCIpllVFUUlYGpYCCMdFHfnHCIy8o3ZEH3ARDEJqIKKDbYthxQWitwHZNUzgOYWig6GIcdBgz0IhnrNZ1BY0PG9z4WFpQLw0R8dLU6dn8+EqphCybf6j4YWb6R6AXj6YXt7GrjeFwA7rR5LJ4gAQgh/gOCG6cfaXQDmODkCcPAfs2Qwc59hLO4AAAAASUVORK5CYII=)}.context-menu-item.icon-delete{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGqSURBVDjLlZM7S0JhGMfVox+gqYZuQkMETYZNQmi2+QGKligiCBoalFragoqGzDM41NRQQy4VKDhUSyC0NLR1EeKIt7wePV7/vc/BI97NF36cA+f9/97neQ6vCoCKrVGGgWHswyRDQxkFVU1gkCQpWSqVKuVyGZ1g3+Fyuc5aJYrASOFsNgtRFOukUikkEgmEw2FZEgqFwPN8k4SWmgS0IZ/Po1AoyE8ik8kgmUwiEonIglwuBzrE7XbLkjYBhRVIQIF0Oo1oNNrWUm0m6iYBa6O+gd6pb6WVWCwmVyIIQndBK40SqoTmEY/H/y9olFA7NBMSDSQgisWiPBeSEAMLqIrvWyde1mbgt+jwtDIBfl7D9xRQSCHoOceb3YT8wymq716I17sIbM9WfGbtTl8Blf+8OoUcC8NpAxxDwKEe0eMF+Ba5z75/gaCyq68eNK7EwQj8Zm21UVDtNoPH5XFkL9YBFpLsKvwyglscfFbuR7kLc2zKItvc8TJ93ZwgsDkNwaFHZE+Hjw01/DZtxWvl9hXBGEl6XeXLpWH+zsIJVPa9hQtfmbgjyv4BPlWugike25IAAAAASUVORK5CYII=)}.context-menu-item.icon-quit{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEuSURBVDjLpZM9SgRBFIRr/EHXwGVFAxUPYmTgMTyEoblX2NwjGG9i5B0EMTIQFWTBaHTeqyqDHmdX0FlhHzSvO6n+qvp1ZRvL1AqWrLX5w93VuSXBJkhCKovMrpOJk4vr6lcBidg7PgVMWIYkWATEbv9wc/03AZkwiY/3J7i93STcEmxu7yOz6ReQCDFhFTExIRJWgox+gcwot2UUAmY5kzADzkBEL0Er0PUZReUGIhcRNAU5muI/E1JiZzjF4cEbHp+HyIx+C2otdPgqfTodoP5c/w9BgNn8sPD6sgFzFVu76ieIaGYhMtrwWiGVPRkLCLJkYJX0vyms8rQLMigWBqMj2IKZsFSWCbGM83xVtjGZTFzXNeL2spv3+fmf/QnCJu5HZwCA8XhcVct+5y9H3H2zjxE/HwAAAABJRU5ErkJggg==)}.context-menu-item.icon-add{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAB90RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgOLVo0ngAAAExSURBVDiNvZM9SgRBEIW/6p7AYNhE0ETFAxgIop5AzTyCIBjueBGDRScTwWMIXmARE4+wKCYbmaizTPc8g/1xZ13dRcEHTdNF16v3qrtMEma2AiwDnp/RBR4lVaOIJICtoiheyrKMIQRNW0VRKM/zc2AdcJKQhA0U7JRl2e71es7MRuQhBBqNBvvXn7HD1/wiy7LWw9Vex4pnEhtkmJnz3uOco6r6Cp1zXzw0m81TgM2TrNU+O+jUbgwThnuaplMbMSBZShfXSCYJhhamVZ/ExvElBhiwHUK4A/De1zzPQq2M97NecQbBb1Cz8J2CcUu3xyLGSJIku8D9nxX8P0EIoXYe/wei348aYozcHIXJcAUgSYkkmVkVY3wHFuZQVcUY34AIjIZplf44z2spAl1JTx9MRpCdM880HAAAAABJRU5ErkJggg==)}.context-menu-input>label>*{vertical-align:top}.context-menu-input>label>input[type=checkbox],.context-menu-input>label>input[type=radio]{margin-left:-17px}.context-menu-input>label>span{margin-left:5px}.context-menu-input>label,.context-menu-input>label>input[type=text],.context-menu-input>label>select,.context-menu-input>label>textarea{display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.context-menu-input>label>textarea{height:100px}.context-menu-item>.context-menu-list{display:none;right:-5px;top:5px}.context-menu-item.hover>.context-menu-list{display:block}.context-menu-accesskey{text-decoration:underline}.context-menu-item.icon.rup-icon{display:block}.context-menu-item.rup-css-sprite{padding:2px}.context-menu-cursor{cursor:url(data:;base64,AAACAAEAICACAAQABQAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH/gAAx/4AAYQCAAGH/gADBAIAQwf+AGYEAgB2B/4AfgQCAH/H/gB/h/4AfwAAAH4AAAB8AAAAeAAAAHAAAABgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////MAD//hAA//4QAP/8MAD/fDAA/zhwAP8YcAD/APAA/wDwAP8AEAD/ABAA/wAwAP8AcAD/AP///wH///8D////B////w////8f////P////3//////////////////////////////8=),default}.context-menu-item.context-menu-visible{background-color:#bababa;cursor:pointer}.context-menu-item.context-menu-visible>.context-menu-list{display:block}.rup_dashboard{margin-left:4px;margin-right:4px}.grid-stack-item.hidden-content{height:40px}.rup-feedback{border:1px solid #c7c700;background-color:#f6f6ce;background-image:none;color:#000;overflow:hidden;padding:1em}.rup-feedback_closeLink{float:right;background-image:none;background-repeat:no-repeat;background-position:100%;padding-right:1.5em;color:#00f;text-decoration:underline;cursor:pointer}.rup-feedback_closeLink:hover{background-image:none;text-decoration:none}div.rup-feedback_closeLink.rup-jqueryui{background-image:url(images/rup.close.png)}div.rup-feedback_closeLink.rup-jqueryui:hover{background-image:url(images/rup.close_hover.png)}.rup-feedback_image{background-repeat:no-repeat;background-position:8px 12px;padding:1em .5em 1em 4.5em}.rup-feedback_image_ok{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcUlEQVQ4jZVR30tTcRw99/u9P5x36s1fA5d1lZWYpTdfCtRtiQmbmflWgTF78qnsL7D9BfPFBymSwEgjKE3QCKYPRmWml0TIDF1mc0NzVzc3NnW3hzBERul5/HDO+ZzP+TA4CrohE4Z08JSXBcr7eMrdY48glghDRq/JTtksFmB5y4+Pa1MyOayeMrT9krlGtpmrYUwzwH68Bpl8uv1QCbgHrCJyYodTrsf32AIAQGeSAAgOlYAlrOdW6XXwHIuoHkFZdjk+rargCNf5X4P0RwZXaXaJvdKk4GdiCeXZlQhEg5j5NeujhLr/nNAFBQQKGKhog7onzugxSoQhHlfZTYSTGnINeRA5I57NvQBL2NbJJlUj6ILHIhVNO07W9eSkHZtGNzz7ivM0WZxSrpiDLYRRnHEK71cmEN2Jdk42qWMAwIJB++2yFhg4AZflWvTO9bfPPvwiiZzhcX56nuuqpQGBnWVYMkrgj6xgKqj6KEPde0sIGMDIi1hLrGJzN4Q759tgL6xyUUJHW8+1YIckIPIiOMJj6NswKKHN7xontb8p0QgplNAu2s1WxPUY4noMtkIbiiUZFaaz2MA6ThiK4PWNYUHzud9emejbXzLFEF77awPy5vamYjNbEUcca7tBVORUIIwN5KeZ4A8HMPR1WB1v+HDj4JcoAOiv9IFQvSZHtiNKdUEVCGWwmgwik8+CgYjo/fwU28mEw/fkRyClAQDEXyYGYo6YPB+aV6zmGmQJmcgTTPAujmFBW3R7HeN9B8Upceb56R7nmzp9cL1f717q1OtGrNP/4jOphhcGK+8LVLgrUF6jhDaP1HvVVDwA+A0rr9F+/wY4EQAAAABJRU5ErkJggg==);background-color:#dff2df;border:1px solid #00b500}.rup-feedback_image_alert{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACM0lEQVR4nKWTX0hTcRTHv797f9uda802sOXmzJWrkZEURK4/QlJElqEhJGG99NBL2xWHDt1oBQX2kES1hxAhoqDwIcKHlEKFWq0SiV56CAqDiKJ0m7Ntd7v39BaYkxIPnKfz5cOXL9/DiAgrGb7UIRwK2znXjSaTiawkSc19V/q+LAtgs9luHm/cv7VAgnb3wcOrANqKColo0XZ3BZ3xeLwwef8MzU01UywWywQ6A95iWqEY1OGwj9XWbBYdth9QVRU7amsMFqtl8L8c9Pb0tr+belOYHj5FDmcluTZWU+rDAL2Kv8z5ff6T/3Tgdruj7kqLqCkz4JyDNA263CNs27JO7/F4on/rFwAi5y9cajpy0Pz9eQACB+bTacylEpCMeki/BtDaeszcIXdEiwLCobDd5VrfWapLgLM0ysqmANKwoaocTB0HUwZhNf8UPB7PaVmWnYsAnPN7LY37SmbinbBZJ2CQvsJiKUVFhRUomQWM3yBqZ3Gi7dAqBjawIMTuruDe8aejSvb9Dco90ZE2CaK3oNQnTnOfOdEsiLIgUiXK52/RyMjjjOyX9/wJ0WAw3N69a7tOnb4O0aiCCYDCgMPtOyFHmgAjAP0aQHCD8zE0NNQZJEkaAgAxm8mFjh6oaylXXwgsOQTd6gIYB0QTcGe4AvXej/DWFwBWDWATADsEYS0kqUrf338tj2Cw57WSSdNyJ5/Pke+c7xkXBZaKXLw8X7RlAMAY2BIFNJlMClvpO/8G8rA1fYkIinMAAAAASUVORK5CYII=)}.rup-feedback_image_error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gMBw8GF7RLhCYAAAMFSURBVDjLdZNfaFNXHMc/9557e1uT3CYh0lLmKFgGc2WI4laWggw3mLDoizJKq3u2vvjkEAuC9EXwOVNhnYFRKNk6tynuRdmquMAUtnZsS9Gh0VA06bL03lxzk3vP2UNq5/594cfh9+V7zvn9fud7NP6Bb6em9m7pjb9naTrCMECDMAhooSjXal+NTk9/9rxeez75dGwss6M3ng/v3LEIJSiFUgqQoGlYu3YFPzrO+18nErPZbBYA49nm7J49mZeDIP/0i0uWCgL+C62VFeOldDpXWV4GmAUQAB8MDWXetO28efu25UvJw0SCeLP5txJLySRdnocolfTNicT+Acu6983q6pI4sG3bO+8KYz714L7lK4V/5AijFy/yc6FApFxGAU+2byd99SpV2ya4cYPualVPRKP7zf7+otibSk2lq5WdKAW7d/NaNotpWQxkMvxaKOClUrw+N0ckmWRgZITfi0VUsUjU8/SyEF2GrK8hleqUu7BAJZcjdfgwXZEIb8zOIttteuJxpJT8MT9PePkyrOtFo4GhwoDwWa9K8eD4cQIpiR08iAIwTRquy9MrV3h07BhIuTEbqRRGEARITUNDdWgp+X5mhldGRrCiUQAC32dxZoaBMETT/nr5lgK9qTonhevrw6EhXjhzhmYY4jgOjuvSaDZ5cXqa+8PDhEohO87AVxLdtbo2iLWtW0mdOkVTKRzHwSwUMK5dw3UbeO02m0+epD48vH6hwhEC/VEy+eUP3d1tCdi1GvFWC9dxiS8u8vjECZ6cPk1v4TsajQZ2u02iViMEljdtkr/F45dEqVL5Zc007w7GYvvsel3IW7fos2NUzp5FSYkCvJs36U8maZ47h18uU4pG5SeeN9kaHPxIAxgfH6d6/frYeE9Pbku9bvI/0IDHsZic8/1Jc3T0/Fw+37Hy0tIS91z3p9VI5O5gLLavr9USAhC6jtC0jVixbflxEEy+eujQ+Q8vXPj3bwR4e8fOA2+Z5kRfyyel6xiaRkNKqobBghCfpycmcpNHj27o/wR6m2WS35rzJQAAAABJRU5ErkJggg==);background-color:#f6cece;border:1px solid red}.rup-language_root{border-top:1px solid #dadada;position:relative;width:100%;line-height:2em;float:left;margin-bottom:.7em}.rup-language_root div{z-index:900}.rup-language_root a{color:#0052c7}.rup-language_root li{float:left;margin-right:1em;list-style-type:none}.rup-language_root ul{margin:0}.rup-language_change a{background:url(data:image/gif;base64,R0lGODlhEAAOALMPAOjo6KKiol1dXVBQUEZGRkNDQ0lJSVRUU0xNTEBBQUBAQU1NTFdXV01NTUFAQP///yH5BAEAAA8ALAAAAAAQAA4AAARF8IVJa3hYgs07uFjgjaC2CSjKleLJHIOwZi0gwIu8sZwwIAbdh2bzAQkFFc/WMCAVuqUNmRBKbQ7hMOTRbk2jGc1iyTwiADs=) no-repeat 100%;padding:.2em 2.4em .2em .6em}.rup-language_close_languages{float:right;background-image:url(images/rup.close.png);background-repeat:no-repeat;background-position:100%;padding-right:1.8em;color:#00f;text-decoration:underline!important;cursor:pointer}.rup-language_close_languages:hover{background-image:url(images/rup.close_hover.png);text-decoration:none!important}.rup-language_language_list a:link{text-decoration:none}.rup-language_language_list a:focus{border-style:dotted;border-width:thin;outline:none}.rup-language_language_list ul a:link{text-decoration:underline}.rup_language_link{padding-right:.1em}.rup-language_change_option{background:url(data:image/gif;base64,R0lGODlhEAAOALMPAOjo6KKiol1dXVBQUEZGRkNDQ0lJSVRUU0xNTEBBQUBAQU1NTFdXV01NTUFAQP///yH5BAEAAA8ALAAAAAAQAA4AAARF8IVJa3hYgs07uFjgjaC2CSjKleLJHIOwZi0gwIu8sZwwIAbdh2bzAQkFFc/WMCAVuqUNmRBKbQ7hMOTRbk2jGc1iyTwiADs=) no-repeat 100%;padding:.2em 2.4em .2em .6em;background-color:#f7f7f7;border-top:1px solid #ababab;border-right:1px solid #ababab;border-left:1px solid #ababab;color:#000!important;line-height:1.5em;position:absolute;text-decoration:none}.rup-language_language_list{background-color:#f7f7f7;border:.1em solid #ababab;padding-top:.6em;padding-bottom:.6em;position:absolute;left:0}.rup-language_language_list ul li{display:block!important;float:none!important}.rup-language_language_list ul li a:hover{color:#000!important;font-weight:700;text-decoration:none}.rup-language_hidden{visibility:hidden}.rup-language_root .ui-state-active{color:#0052c7;border:none;font-weight:700}.rup-language_root .ui-state-active a:link{text-decoration:none}.rup-language_portal li{margin:0}.rup-language_portal_list,.rup-language_portal_list:HOVER{float:left;padding:0;margin:0;color:#000!important}.rup-language_portal_list:HOVER{text-decoration:underline}.rup-language_portal_list_active{float:left;padding:0;margin:0}.rup-language_portal_separator{float:left;padding:0 .5em}.rup-maint_feedbackUL li{margin-left:2em;margin-top:.2em}.rup-maint_new{background:transparent url(images/nuevo.png) no-repeat!important;width:14px}.rup-maint_edit{background:transparent url(images/editar.png) no-repeat!important;width:14px}.rup-maint_cancel{background:transparent url(images/cancelar.png) no-repeat!important;width:14px}.rup-maint_delete{background:transparent url(images/borrar.png) no-repeat!important;width:14px}.rup-maint_save{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAKYQAACmEB/MxKJQAAAAd0SU1FB90CDQsfNuRrWgoAAAKNSURBVDjLbZFNi11FEIaf6u5zzk1mjGMSJ0gwkjFk4W8QJBv/gug/EP0PKiqugiC4CYIrZyMSx4XgJuBSJAmCGEUlzAjx3jBzPzLn3PPR1V0u7iXjV0FRUIunnu5X7ty5LXtf7p1rmsa/eO1lnj5/Hu88PhQURSAUBTlnclbIifFkwjdff0VZlPrKa69Ow+5nu2cP9g9ubWxsbF989jkuX7qEGSCCOMEJeBFEIHhBQsHQDQzd8PDm519cC/VxHUIRtkXkwqgqmEzniAgAIoIA4sCtFlRlQUoJM6Pr2hD6vmdUjXDOIWK8sPMM/1dmq/njL7+hqpgZMSohpQSA956cjbs/7yNOMAADM1s3aMpUzkgpkXNGkxJUdX3BWHaRKzsXH18zMmasewW6v3+wNshojCcGAClnfvj1D5w4wFhzyLaySTkxkhODOCghrQ1yytz76R5ntrb+827DsLyax48WxGEAICb9u0Fib/dTzGydwiq6E5hhGIIQigIRIcV48gcAOEe3XCII4tw/AIJQjUZghqoiIsR/A/qu5/pHH2LZsJypTq3jRZhOp7zz9ls8Whzz5BNn8N4TfSR0Q/cYkHNiPJ7wyY0b6BB5/c032NzcJMbIfD6nKiuqqqePPS45DCMM7QAIYKhGkirToyNUlaauUVVijMxmM/q+Jw4D3gV85WnbJWEYBhMxb4alnGW5XDIeT0hJmc3nlGWJqjKbTWnqhrbtKItASgpg4fu7tx9e3blyvRqVHwiifd/7d99/T6IqR4eHLBYLVJW6rq1pmtR1LRoDIpK6IRbh9/vf8vzllz4+99TZ7y5sbxd/Pniwder06dI55y1nF0Iw75w2SHfc1PPFfG5OHOKkXbbt4V9eU519G/8PGwAAAABJRU5ErkJggg==) no-repeat!important;width:14px}.rup-maint_filter{background:transparent url(images/filtrar.png) no-repeat!important;width:16px}.rup-maint_clone{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QcFCSceyJE9+gAAAn5JREFUOMulkjtoVGkUx3/nu3e+OzNJJiOaxU3izOSh4wPTBDQYSGEriO7CVmYtxM5GxF4EO618gGC91TbCssUuEnBRiIVRXNQUiqL4iJlMZnJzJzf3ft9nMTg+2S08xakOv/M7/I8AnDl7buOrheWBldWWtc4hAp7n0ViqsRZFVIcHkstXLs3zjfIBao3o6NjunRcKhQLWWpRS+J5HrVbj+YtXWJuwb3Jq4vatm7PfBLx+V4+PHhln964qxlo8pdAZzdy/j9ixvEJlsB/jmMl29R7bMVq++6mNAhCB9SQhSRKi1RZhGGGMwVPC/QcPefB4ni2VkVy5MvSbl+t5vG9yau9nBkoEQVhYrJPPZdFa01wJGamUCFcjnj57zsT4GC+fzHP40EFURt8I8oX9M3//cccHwAmBzrCyGrGwWGdDsUBrLaa7K8+u7dsoFnv5oa+PINDM3b/HYHm4q7FUn50+8mu1fYISUmPJZbP0FroJtEZnfKJWi0YzRGuNzmh8zyOOYybGx+gtdPP23WLgf7hFlKCUwhiD1hk2bdwAziEiiECcGNI0pTQ4QHXrMEGgGaqUpjoAay1R1MIBzTBEZ3ySJCUINPlsFjAYY/F9v2NjrUv9dgpCkqQgMa14DSWKMIyoLzfp39xHefBHnHVYZykWerC2bdNJAcD3PKojZZxziGqnIiJY57DWoTyFiEIQAIyxyAeA73nZN4vL9BSXMMZ2vkxE2kARjIN4PcGYtGODSBuwtOZfnPnrz1+u/97Yk6ZpZ8tHUrvlcwFbSqWOjXPuy0mYPn7y1M8/HTy/dXToP22uXb1K2mqc+ApwYPq0Ht3EP83m/9t05bMTfG+9By7GEKDRGKskAAAAAElFTkSuQmCC) no-repeat!important;width:16px}.rup-maint_filter_pressed{border:1px solid #999!important;font-weight:400!important;color:#212121!important}.rup-maint_export{background:transparent url(images/filtrar.png) no-repeat!important;width:16px}.rup-maint_export_pressed{border:1px solid #999!important;font-weight:400!important;color:#212121!important}.rup-maint_linkPaginacionDetalle{background:none;border:none;clear:none;cursor:pointer;float:left;text-decoration:underline;color:#0052c7!important;font-size:.88em;padding-right:1.3em}.rup-maint_searchCriteria{background-color:#fffacd}.ui-menu{list-style:none;padding:2px 0;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{transform:scale(1);transform-origin:0 0}.ui-menu .ui-menu-divider{margin:5px -2px;height:0;font-size:0;line-height:0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;line-height:1.5;transform:scale(1);transform-origin:0 0;padding-top:.1em}.ui-menu .ui-menu-item a.ui-state-active,.ui-menu .ui-menu-item a.ui-state-focus{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default;filter:Alpha(Opacity=35)}.ui-menu .ui-state-disabled span{filter:Alpha(Opacity=15)}.ui-menu-icons{position:relative}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .rup_menu_vertical_horizontal .ui-icon{top:.4em}.ui-menu .ui-menu-icon{position:static;float:right}.rup_invisible_menu{visibility:hidden;display:none}.rup_menu_vertical.ui-menu .ui-menu-item a,.ui-menu .ui-menu-item .rup_menu_vertical_horizontal a{padding:.2em .3em}.ui-menu li strong{cursor:default}.ui-menu .ui-menu-item a{cursor:pointer}.rup_menu_horizontal.ui-menu-icons .ui-menu-item a{position:relative}.rup_menu_horizontal{width:100%;float:left;font-weight:400;z-index:810}.ui-menu .rup_menu_horizontal_children.ui-menu-item{list-style-image:none}.rup_menu_horizontal.ui-widget-header{font-weight:400}.rup_menu_horizontal_children{float:left;background:none;border-style:none;border-width:medium;border-right:1px solid #7c7676;border-radius:0 0 0 0;text-align:center;padding-left:.5em;padding-right:.5em;padding-bottom:.15em;margin:.15em 0}.rup_menu_horizontal_children_entry{width:100%;float:left}.rup_menu_horizontal_children_icon{left:-.8em!important}.rup_menu_horizontal_childrenIcon{padding-left:1.2em;padding-right:.2em}.rup_menu_horizontal_childrenMenuIcon{padding-right:.2em}.ui-menu-icon.ui-icon.rup-menu_horizontalIcon{margin-top:3px;margin-right:0}.rup_menu_horizontal_children_double{padding-left:1.6em}.rup_menu_horizontal_children_double .rup_menu_horizontal_children_icon{left:-1em!important}body:first-of-type .rup_menu a.ui-button{border-right-color:-moz-use-text-color}.rup_menu_horizontal_disabled{margin-top:0;margin-bottom:0}.rup_menu_horizontal .rup_menu_horizontal_children.ui-state-focus{background:none;border-style:none;border-width:medium;border-right:1px solid #7c7676;border-radius:0 0 0 0}.rup_menu_horizontal .rup_menu_horizontal_children.ui-state-focus a.rup_menu_horizontal_children_entry{font-weight:700}.rup_menu_horizontal .rup_menu_horizontal_children a.rup_menu_horizontal_children_entry.ui-state-active{border:none;background:none;font-weight:700;margin:0}.rup_menu_horizontal .rup_menu_horizontal_children_last.ui-state-focus,.rup_menu_horizontal_children_last{border:none}.rup_menu_vertical{float:left;z-index:800}.rup_menu_vertical_horizontal{z-index:810;text-align:left}.rup_menu_vertical.ui-menu-icons .ui-menu-item a,.ui-menu-icons .rup_menu_vertical_horizontal .ui-menu-item a{position:relative}.rup_menu_vertical .ui-menu.ui-widget.ui-widget-content.ui-corner-all{z-index:800}.ui-menu{margin-bottom:.5em}.menu4{height:200px;overflow-y:auto;overflow-x:hidden}.address-item{border-bottom:1px solid #999}.address-header{display:block;margin-bottom:.2em;font-weight:700}.address-content{display:block;margin-bottom:.2em;padding-left:10px}.ui-menu-icon.ui-icon.ui-icon-carat-1-s.rup-menu_horizontalIcon{position:absolute;right:.2em;left:auto}.rup_menu_horizontal_children_entry:hover{font-weight:700}.ui-menu-item:not([aria-haspopup=true]),.ui-menu-item:not([aria-haspopup=true])>a{text-decoration:underline}ul.ui-menu.rup_menu_vertical_horizontal li.ui-menu-item{padding:0}.rup_menu_horizontal_children.ui-menu-item{padding-left:.5em}.ui-menu .ui-menu-item.rup_menu_horizontal_children_double,.ui-menu .ui-menu-item.rup_menu_horizontal_childrenIcon{padding-left:1.6em}ul.rup_menu_horizontal.ui-widget.ui-widget-content{border:1px solid #aaa}.rup_menu_horizontal.ui-menu .ui-menu-item-wrapper{padding:3px 1em 3px 0}.rup-message_icon-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gMBw8GF7RLhCYAAAMFSURBVDjLdZNfaFNXHMc/9557e1uT3CYh0lLmKFgGc2WI4laWggw3mLDoizJKq3u2vvjkEAuC9EXwOVNhnYFRKNk6tynuRdmquMAUtnZsS9Gh0VA06bL03lxzk3vP2UNq5/594cfh9+V7zvn9fud7NP6Bb6em9m7pjb9naTrCMECDMAhooSjXal+NTk9/9rxeez75dGwss6M3ng/v3LEIJSiFUgqQoGlYu3YFPzrO+18nErPZbBYA49nm7J49mZeDIP/0i0uWCgL+C62VFeOldDpXWV4GmAUQAB8MDWXetO28efu25UvJw0SCeLP5txJLySRdnocolfTNicT+Acu6983q6pI4sG3bO+8KYz714L7lK4V/5AijFy/yc6FApFxGAU+2byd99SpV2ya4cYPualVPRKP7zf7+otibSk2lq5WdKAW7d/NaNotpWQxkMvxaKOClUrw+N0ckmWRgZITfi0VUsUjU8/SyEF2GrK8hleqUu7BAJZcjdfgwXZEIb8zOIttteuJxpJT8MT9PePkyrOtFo4GhwoDwWa9K8eD4cQIpiR08iAIwTRquy9MrV3h07BhIuTEbqRRGEARITUNDdWgp+X5mhldGRrCiUQAC32dxZoaBMETT/nr5lgK9qTonhevrw6EhXjhzhmYY4jgOjuvSaDZ5cXqa+8PDhEohO87AVxLdtbo2iLWtW0mdOkVTKRzHwSwUMK5dw3UbeO02m0+epD48vH6hwhEC/VEy+eUP3d1tCdi1GvFWC9dxiS8u8vjECZ6cPk1v4TsajQZ2u02iViMEljdtkr/F45dEqVL5Zc007w7GYvvsel3IW7fos2NUzp5FSYkCvJs36U8maZ47h18uU4pG5SeeN9kaHPxIAxgfH6d6/frYeE9Pbku9bvI/0IDHsZic8/1Jc3T0/Fw+37Hy0tIS91z3p9VI5O5gLLavr9USAhC6jtC0jVixbflxEEy+eujQ+Q8vXPj3bwR4e8fOA2+Z5kRfyyel6xiaRkNKqobBghCfpycmcpNHj27o/wR6m2WS35rzJQAAAABJRU5ErkJggg==);background-position:50%;background-repeat:no-repeat;float:left;height:24px;margin-right:.9em;padding-top:2.1em;vertical-align:middle;width:11%}.rup-message_msg-error{padding-top:1em;text-align:left;vertical-align:middle;float:right;width:84%}.rup-message_icon-confirm{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC+ElEQVQ4jWWTP2xbVRjFf9+99/01TgwJCQkMbkMKqCkEKGoXBpiQEqkpZUL8y8BeRqYwMMBQRMWMGtQgJCSKYWCohARIVCCoMJUgLbSipVERTuzYcexn+713L4OlirafdLZzznC+c4TbbnZxrSTIEkoeQ9S8iICob0WkevHMC5Xb+XKLeOH08WIxXnloZqoUhSFRFDHIcmr1XerNDts7navWuTfWPz1SucNgduH0qfm58mt7y/ezfq1LrZmR2SHFaAg9QTtLo1WnnybLv3+yuHrTYHZh7a1DT8ysFEfH+eVyh73TEa8vTvL0o0WsdXzz6w6nzm5x5cYALdDtNMgG3aO/ffxcRWYX18pTE6W/Dj7+CN9daDM17lN5+2GsteS5w1qLc44b9ZSXTlxHRHDOkrRqTWvzPXp837GVw0/OHl7fyOiljt2eJQ4U9VbGiTM1HLBn0iP2hR8v92n1QGmNaB3m6eCS8QNvSZmI7XYXRECED76skTshs6C18OyBGOccm7uOTjrMLNQRottHzOhIoVxrpsM0BPqpo9vJEa15YMLnzWNjWGs590efRg/8yABQUJB0dclYB71BjnWwvZORI3i+RnuKd16ZIA6EK/9mnPy6QxB7KDV8XDFw1BsGM0hzBMfmdooTwfgKZRQLB+9iZtJgrePD7xNSZQgChdIKgJGCRZRGdZJBpd1OsM4hSlB6iKl7DM45nHNc2nQEoSGIPMLYY2TEIwxAtKkaRH3Rau8uFcNRulZQaojKzwn7pn22EjC+xgs0fuhhfE15DP5cbyFKf6Qufvb8atJPqpHOMQKIIEo4+lTMoRmfhTmfuWmD9jReqJm+10ORs/FPv3L+/QNVBeBwy4O01QzE3uz2hesp3QFs7MDfTYdRcN+oUPIyzv3QqIrSy7dsYf+LX82jzOe5GS3rsEgcGeKCR6FouLvkMVYybDV6XNtIqoNMnvnp3Qebd6xx7uWzJZQ6Ltp71XhBOS7EhJEhzS27SV4VbU6ef2//6v81/wH6bjI89FfNwgAAAABJRU5ErkJggg==);background-position:50%;background-repeat:no-repeat;float:left;height:24px;margin-right:.9em;padding-top:1.5em;vertical-align:middle;width:11%}.rup-message_msg-confirm{padding-top:1em;text-align:left;vertical-align:middle;float:right;width:84%}.rup-message_icon-ok{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcUlEQVQ4jZVR30tTcRw99/u9P5x36s1fA5d1lZWYpTdfCtRtiQmbmflWgTF78qnsL7D9BfPFBymSwEgjKE3QCKYPRmWml0TIDF1mc0NzVzc3NnW3hzBERul5/HDO+ZzP+TA4CrohE4Z08JSXBcr7eMrdY48glghDRq/JTtksFmB5y4+Pa1MyOayeMrT9krlGtpmrYUwzwH68Bpl8uv1QCbgHrCJyYodTrsf32AIAQGeSAAgOlYAlrOdW6XXwHIuoHkFZdjk+rargCNf5X4P0RwZXaXaJvdKk4GdiCeXZlQhEg5j5NeujhLr/nNAFBQQKGKhog7onzugxSoQhHlfZTYSTGnINeRA5I57NvQBL2NbJJlUj6ILHIhVNO07W9eSkHZtGNzz7ivM0WZxSrpiDLYRRnHEK71cmEN2Jdk42qWMAwIJB++2yFhg4AZflWvTO9bfPPvwiiZzhcX56nuuqpQGBnWVYMkrgj6xgKqj6KEPde0sIGMDIi1hLrGJzN4Q759tgL6xyUUJHW8+1YIckIPIiOMJj6NswKKHN7xontb8p0QgplNAu2s1WxPUY4noMtkIbiiUZFaaz2MA6ThiK4PWNYUHzud9emejbXzLFEF77awPy5vamYjNbEUcca7tBVORUIIwN5KeZ4A8HMPR1WB1v+HDj4JcoAOiv9IFQvSZHtiNKdUEVCGWwmgwik8+CgYjo/fwU28mEw/fkRyClAQDEXyYGYo6YPB+aV6zmGmQJmcgTTPAujmFBW3R7HeN9B8Upceb56R7nmzp9cL1f717q1OtGrNP/4jOphhcGK+8LVLgrUF6jhDaP1HvVVDwA+A0rr9F+/wY4EQAAAABJRU5ErkJggg==);background-position:50%;background-repeat:no-repeat;float:left;height:24px;margin-right:.9em;padding-top:1.5em;vertical-align:middle;width:11%}.rup-message_msg-ok{padding-top:1em;text-align:left;vertical-align:middle;float:right;width:84%}.rup-message_icon-alert{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACM0lEQVR4nKWTX0hTcRTHv797f9uda802sOXmzJWrkZEURK4/QlJElqEhJGG99NBL2xWHDt1oBQX2kES1hxAhoqDwIcKHlEKFWq0SiV56CAqDiKJ0m7Ntd7v39BaYkxIPnKfz5cOXL9/DiAgrGb7UIRwK2znXjSaTiawkSc19V/q+LAtgs9luHm/cv7VAgnb3wcOrANqKColo0XZ3BZ3xeLwwef8MzU01UywWywQ6A95iWqEY1OGwj9XWbBYdth9QVRU7amsMFqtl8L8c9Pb0tr+belOYHj5FDmcluTZWU+rDAL2Kv8z5ff6T/3Tgdruj7kqLqCkz4JyDNA263CNs27JO7/F4on/rFwAi5y9cajpy0Pz9eQACB+bTacylEpCMeki/BtDaeszcIXdEiwLCobDd5VrfWapLgLM0ysqmANKwoaocTB0HUwZhNf8UPB7PaVmWnYsAnPN7LY37SmbinbBZJ2CQvsJiKUVFhRUomQWM3yBqZ3Gi7dAqBjawIMTuruDe8aejSvb9Dco90ZE2CaK3oNQnTnOfOdEsiLIgUiXK52/RyMjjjOyX9/wJ0WAw3N69a7tOnb4O0aiCCYDCgMPtOyFHmgAjAP0aQHCD8zE0NNQZJEkaAgAxm8mFjh6oaylXXwgsOQTd6gIYB0QTcGe4AvXej/DWFwBWDWATADsEYS0kqUrf338tj2Cw57WSSdNyJ5/Pke+c7xkXBZaKXLw8X7RlAMAY2BIFNJlMClvpO/8G8rA1fYkIinMAAAAASUVORK5CYII=);background-position:50%;background-repeat:no-repeat;float:left;height:24px;margin-right:.9em;padding-top:1.5em;vertical-align:middle;width:11%}.rup-message_msg-alert{padding-top:1em;text-align:left;vertical-align:middle;float:right;width:84%}.ui-dialog .ui-dialog-title{width:auto;padding-right:.3em}.rup-table-filter-fieldset{border-top-style:hidden}.rup-table-filter-toggle-label{text-decoration:underline}.collapse_icon_right{float:right;cursor:pointer;opacity:.5}.collapse_icon_right:hover{opacity:.3}.collapse_label,.matched_layer{font-weight:400}.matched_layer,.search_collapse_layer{float:left}.search_nav_layer{float:right}.table-bordered{border:1px solid silver;border-bottom:1px solid #dee2e6}.paginationContainer{border:1px solid silver;border-top:0;padding:5px 0}td>div.centerOnResponsiveContainer{display:flex}.dataTable .sorting_asc.sorting_active_only .mdi.mdi-arrow-down{display:none}.dataTable .sorting_asc .mdi.mdi-arrow-up:before{font-weight:600}.dataTable .sorting_desc.sorting_active_only .mdi.mdi-arrow-up{display:none}.dataTable .sorting_desc .mdi.mdi-arrow-down:before{font-weight:600}.dataTable .sorting.sorting_active_only .mdi.mdi-arrow-down,.dataTable .sorting.sorting_active_only .mdi.mdi-arrow-up{display:none}.custom-select{-webkit-appearance:menulist;-moz-appearance:menulist;appearance:menulist}.ui-tabs .ui-tabs-panel{border-width:1px}.rup-loading_tab_error{font-size:2em;margin:1.5em .5em;color:#f71229}.rup-tabs_loading{float:left}.rup-tabs_loading,.rup-tabs_loading_img{width:1.2em;height:1.2em;margin:0 0 0 .3em}.rup-tabs_loading_img{vertical-align:middle;background-image:url(images/rup.ajaxLoader.gif);background-position:50%;background-repeat:no-repeat;float:right}.ui-tabs .ui-tabs-panel.rup-tabs_container{padding:.4em}.rup-tabs_title{float:left}.rup-tabs_overflow{overflow:scroll}.tabs-bottom .ui-tabs-nav{clear:left;padding:0 .2em .2em}.tabs-bottom .ui-tabs-nav li{top:auto;margin:0 .2em 1px 0;border-bottom:1px solid #d3d3d3;border-top:0}.tabs-bottom .ui-tabs-nav li.ui-state-active{margin-top:-1px;padding-top:1px}.rup-tabs-close{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;margin-left:1px}.rup-tabs-close-hover{border-style:solid;border-width:1px;border-radius:4px}.ui-tabs .ui-tabs-nav li a.rup-tabs-link-close{padding:1px;position:relative;right:.3em;top:50%;width:19px}.ui-tabs .ui-tabs-nav li a.rup-tabs-link-close:hover{margin:-1px;cursor:pointer;border:1px solid #999;background:#dadada url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAANklEQVQ4jWN48uTJfyYGBgaGUWKUGCWGLfHt2zcoi5GREYNgYmJCZiG42IiB98woMUqMEtgIAMdjCdyg+eEBAAAAAElFTkSuQmCC) 50% 50% repeat-x;color:#212121}.ui-tabs .ui-tabs-nav li.ui-tabs-selected.ui-state-active a.rup-tabs-link-close:hover{margin:-1px;cursor:pointer;border:1px solid #999;background:#dadada url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAANUlEQVQ4je3LMQoAIBADwb38/6t5wFXaWAiCtUiaYZvF9hBACOFbuntVVe11B0CSjjeE8BwThQIJ8dhEl0YAAAAASUVORK5CYII=) 50% 50% repeat-x;color:#212121}.rup-tabs-close{box-sizing:border-box;float:left}.ui-timepicker-div .ui-widget-header{margin-bottom:8px}.ui-timepicker-div dl{text-align:left;margin-top:.5em}.ui-timepicker-div dl dt{height:25px;margin-bottom:-25px;float:none;clear:none}.ui-timepicker-div dl dd{margin:0 10px 10px 65px}.ui-timepicker-div td{font-size:90%}.ui-tpicker-grid-label{background:none;border:none;margin:0;padding:0}.ui-slider-handle{z-index:1!important}.rup-toolbar{overflow:hidden;padding:.1em .4em}.rup-toolbar_button{margin:5px 2.5px}.rup-toolbar_menuButton{margin-right:5px}.rup-toolbar_menuButtonSlided{background:#ece9d8;color:#00f}.rup-toolbar_menuButtonContainer{background-image:none;overflow:hidden;padding:.5em .4em .4em}.rup-toolbar_menuButtonElement{width:100%}.rup-toolbar_menuButtonElement .ui-button-text{text-align:left}.rup-toolbar_menuButtonIcon,.rup-toolbar_menuButtonSlided .rup-toolbar_menuButtonIcon{background-position:-64px -16px}.rup-toolbar_button .ui-button-icon,.rup-toolbar_button .ui-button-icon-primary,.rup-toolbar_menuButton .ui-button-icon-primary{width:18px;height:18px}.right_button{float:right}.borrar{background:url(images/borrar.png) no-repeat!important}.borrar.disabled{background:url(images/borrar_disabled.png) no-repeat!important}.buscar{background:url(images/buscar.png) no-repeat!important}.buscar.disabled{background:url(images/buscar_disabled.png) no-repeat!important}.cancelar{background:url(images/cancelar.png) no-repeat!important}.cancelar.disabled{background:url(images/cancelar_disabled.png) no-repeat!important}.editar{background:url(images/editar.png) no-repeat!important}.editar.disabled{background:url(images/editar_disabled.png) no-repeat!important}.filtrar{background:url(images/filtrar.png) no-repeat!important}.filtrar.disabled{background:url(images/filtrar_disabled.png) no-repeat!important}.imprimir{background:url(images/imprimir.png) no-repeat!important}.imprimir.disabled{background:url(images/imprimir_disabled.png) no-repeat!important}.nuevo{background:url(images/nuevo.png) no-repeat!important}.nuevo.disabled{background:url(images/nuevo_disabled.png) no-repeat!important}.csv{background:url(data:image/gif;base64,R0lGODlhEAAQAPZOADhnJjxuKjNtMz9oPDZ2MzN8Mz1zOjh3Ozp/OT95PUJ2LlBQUFRUVFhYWF5eXkF8QUl5RUh9R0t9Rk92TFB6T1d9UmNjY2pqamRzZnBwcHd3d319fT6AOjyAPUmAM1CKOFaTPEmKRU2MRkmHSUqETVGBT12dQVWAVF+GWlmQX12eWmOlRWesSWuxS1uFYXKfcGWjZnyte32Qhn2zgoSEhIqKipCQkJWVlZqamp6enoKogJS5kaGhoZXBj+Dg4OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fn/8/39/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAE8ALAAAAAAQABAAAAeygE9PPISFhoKITzlNjI2MOTmJTzhNQpZAPz9NRTg4iTeVlpaaP0U3N08tqqusTT5ARTY2LI6OtI41KzIuD4wkBxMrQ0NCQU00Jk07IgYSBB5NJkXDQ00bIIw9KAMSTUwgQ0bDTRofjCMzKR0wOh9IReJNGdAJBR0xKgJNHkpIDQ1NLijAQCFEhBMvSlRQ0O9fEwsBajUKsKQiQAcAMmrcaNFGkwaCGEiUyEDQgpMoU6YMBAA7) no-repeat!important}.dll{background:url(data:image/gif;base64,R0lGODlhEAAQAPcAAGrfR2WT0K7L9JihzcPd/Onz9rmFHoyWnyuXI+W4TMDNsdHo/1dgcYep3P///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAIlgAdNBhIsKCDgwgbIFwosAGDhQoZHgxA8UBChAUOHFBQgAABARoPRiwAQAECBBwXLBDwUGABkiVPIiCgkqXIlwcA6ETAgObKlg1eFpCZ4IABAx+BCi2gIEHRowpsuhTa1OnRA1IDqCyg8miCow2yqhwroIEBigLEjl3gMa3blgE8qvTY9u3EAXjz6tXY0gFfBoADB7YYEAA7) no-repeat!important}.doc{background:url(images/doc.gif) no-repeat!important}.exe{background:url(data:image/gif;base64,R0lGODlhEAAQAPcAAMXFwvb29hwcxlpaVFhYqIqKiunp6ampqVRURqGhpzc3N5OTk5eXmZiYr6Skr1BQUAsLv+Xl5UlJnz09P0lJzdHR0crKyk1NTZ6envb284+Pj4mJiff39KCgrAsLwP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAIfgADcBhIsCDBABkwOOjAsCHDBhAbdBiQQICHixg9QKBAoCOBCRUzZpSAYEDJCQcWOmzIoCWDAw8wAMhAsybNADgDRLiAwcKHn0CD/jTA06fQo0R7HkVadKnQpEadDm0qdarSqh+IJqiANeuDDRrCih0rdoGCBRvSql2rtsCCgAA7) no-repeat!important}.gif{background:url(data:image/gif;base64,R0lGODlhEAAQAMY/ANTY2nh4eLCwsLKLIuy5LUk5Dvf3976+vmxUFNWnKP/HKVVCEGBLEj4xDFdEDqenp8fHx+Li4sPDw7q6uszMzPTGRa+vr/DCQ/v7+/X19fDw8Oi9NqysrO/BQpNzGI9wG97e3rGxsfn5+fz8/PnJR21tberq6s+uQ9fX1+O4O7Ozs8rKytrc3/j4+PLy8v7+/29vb9PW2rePHe++NLKysui7OPb29vz9/uGwK8mdJpt5HeG3OvjCL62trezs7P///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAEAALAAAAAAQABAAAAexgEBAIBIqAocCIQITFIKOBzYGNpOTGT4QB45ANCI+np8+IxGYjhYtoJ8YPiYrPUAKPLGyszw1Bq4KOQM4PDg4BDnBPCklrh4FDAUEOjo5BQgIPBcBrg4DCTo4zDkLOgM8HdRA1h8FOdvd3yTiMg0MDdjN0bEV4go4OQS9vwmyM+IbdggcSHDHCRiugDxw4eMHgIcPY7D4cUvQAw0Nb2jc+IJiQg6oQvpIiKKHyZMoTwYCADs=) no-repeat!important}.jpg{background:url(data:image/gif;base64,R0lGODlhEAAQAKU9AEl4odnj67CwsNTY2nh4ePf3976+vubs8vP2+X2fvMfHx7/P3qenp4qpwv7+//z8/KysrDJlkfv7+/n5+cPDw7Gxsa+vr9rj6rq6uvDw8DJhikNwlW9vb9fX18zMzKi8zurq6jVljbTG1fj4+PX19eLi4jxmiqS80NPW2rOzs/Ly8jVljj1slW1tbbKyskFynNrc397e3srKyjxvmvb29rLG15eyyfz9/mOMrjZmjq2trS9lk+zs7P///////////yH5BAEKAD8ALAAAAAAQABAAAAajwN8vRkkJjoKKAOMROg20Am06JfEUBufPNeF5v7xHCeu0jMBfCQ8k0/128Lgc/iq4dwDbzmZrzPA2CRstdzg9Oz01ATUACAsBIgSFh4mLDQEAJx+SPzaGiDU2MwkHADU9nAgHC4g4cDMBBwgXnDM4f7dyODgRnCwaKyE5w8TDJhxuPwwqPD0Dz88oMD12QgwZzTfa2w7UyRBo4TzJHTrm5+jnQQA7) no-repeat!important}.js:not(html){background:url(data:image/gif;base64,R0lGODlhEAAQAKIAAP///wAAAICAgMDAwP//AICAAAAAAAAAACH5BAAAAAAALAAAAAAQABAAAANQKLrcISDGJseTQBCwbbTQBBQkGACgyKGPl2YjGcwnG2qrV10TQRY6GwbXqb0yigCJJYSZOK4LhPDYEHQvwWAgCGxrTQCNhgFtz+j0eM2eJQAAOw==) no-repeat!important}.ods{background:url(images/ods.gif) no-repeat!important}.pdf{background:url(data:image/gif;base64,R0lGODlhEAAQAMZDAO3t7aenp/Ly8vb29ttFQ99+fd+Yl7CwsNUqJ+np6ezs7Pn5+d/Ew+vr6/f39/DX16CgoKGhoa89PPX19dhoZumNjPv7+6ysrPDw8L6+vuTk5Ofn56urq8fHx+Li4urq6ti2tt6pqLOzs+Hh4d7e3vT09NfX16qqqqRSUObm5uzMy/7+/qmpqdra2rGxsdjY2OPj47W1tfz8/Ojo6N/f38PDw/r6+szMzK+vr/Hx8aamprKyssXFxbq6uvj4+K2trbe3t6Ojo8rKyv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAH8ALAAAAAAQABAAAAengH8kNSIHhoY9N3+LjBkDDgORAxMKHRmMizsLCQ0NHwkeMh6WmDg+CqgNCTAWCh9CPIwBAgC1thgTCyUssrS2AAUPIzQOF72/wAYaGg4/x78EBjMbxc+2CAgMDQsn1rUGBgQMFgHeACAtBNgSBYuzyBQEFAYhEhXuGL8FBSC1FhGMLkzIgUEFAQKRFthYwYGRCSA6IiCQgAKCxSAxXmBiVIHAg42MAgEAOw==) no-repeat!important}.ppt{background:url(data:image/gif;base64,R0lGODlhEAAQAMZoAPPa2vns7O2HVfLX17Y9PfDR0cdXV5I2LrBfRPHU1P3Rufy4lJE6M/vz8/34+PHV1fTe3sROTm0WE+7MzPDS0vjq6rQ8POzFxfvy8sFERNF1deaOavz19e6RSlUMD/Xg4MRNTctuUsF0W+6ESL1dRO+XW9eHh+7AiK9HOfnt7frv7//8+v78/Lo+Pvbk5O/Ozt+EZMVQUO+1f+OqquvDw9uSkthgKuq/v+StremLXvrw8NR+fuumeNN4Wvfn58BfRsVmTP35+fzAoevCwuzGxsJISNF0dP3Gqum8vJ1dSL0/P9mNjcNKSu/Pz8ZUVLA5L/Xh4fXJl++XZ/3MsvV+QMBBQc5ra+7Ly9aDg/7077xPL7c9PctiYurAwMldXf/7+MlcXP7z7f/9/MhZWdl/Y4YrLcxmZui5uf///////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAH8ALAAAAAAQABAAAAfggH9/ZzteBocGYwZWNYKOGgEpAZOTFQMmGo5/YBgFCQkUTVdDQV0mRo5OOgOsDwUTNA4DFEtYfxswZD0hIUA/JCQQFQ0+RYIZLgDKywAXN0gqEYIKCAwMSQvLE0QXKjF/CihZXx4MZQtTEgUvEynSCGErYh42AgjKrgUBIH8HVAIbtAiQcuCIhAEPEmBg8ofBiSgyBAgocUDZAFAOMvxB0OEEjxwCRiAQImEZByXgUHQoEfJJNmYNtkwTceCAiJfMHBAQFKEClA8fIECg1IADC35/ZpipQqBpUwtQW3DBEQgAOw==) no-repeat!important}.txt{background:url(data:image/gif;base64,R0lGODlhEAAQAKIAAPz+/MTGxAD/AISGhAQCBAAAAAAAAAAAACH5BAUUAAIALAAAAAAQABAAAANAKErA3ioKNkC9MNbHs6hAKIoBoY0oUJ4N4TCqqYBpuM6hq8P3V5MyX2tnC9JqPdDOVWT9kr/mLECtWnuT5TKSAAA7) no-repeat!important}.xls{background:url(data:image/gif;base64,R0lGODlhEAAQAMZaAN/u5O728TBSLNzt4VqkVVOgbGyzg9fq3VqCV+Tx6Nnr3zWHMluqdE2WS1+TSWSvfPn8+tjr3vX69wRpBNvs4DhdJtPo2u318FKeauLw52+waIbAmXW2bVmpc/T59mWqXGOue42qgfb692SZYfH48x54HXy7c/D38mmsZJbJpszk1HG1h9Xp29Tp21+seEeTQP3+/cTgzbTYwGCteafQnZzHlFShbWWvfbfawl6aV2mxgIXAmG2zhI7En5C8gYXBfLLWqujz7FamcPr8+9Hn2FWkbn28kXayY5vLqkdtM8fi0MLfy8ji0JLGo+r07Xm6jnC1hsvk03W3ip/NrkmHQsnj0Vipcs3l1fL49OXx6f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAH8ALAAAAAAQABAAAAfUgH9/Sz0rBocGPAZGU4KOGwEnAZOTFwMpG45/UB4HCgoRLERVQ0wpO446WAOsFAcWURADEUhNfxooKDkAAAi+CBkXEk4ufw1AJiYOCBoECxMqSjEkD4IvNBwfVM4TABZXKiQ3ggwLNR8ESd0ABy0WJ9V/DM4+Dg0VIyOuBwEgggRHCJT4Ya9CiAEUFHiY8YeAgIcCSnAoOAAUBAbkgvAKAVEALwAihAjqkOCjyY8SbIwsedIkhAKCHlzIkiBBhgyUJIiA4e+PjCdWCggViqFoESk4AgEAOw==) no-repeat!important}.zip{background:url(images/zip.gif) no-repeat!important}.qtip,.ui-tooltip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px}.ui-tooltip-fluid{display:block;visibility:hidden;position:static!important;float:left!important}.ui-tooltip-content{position:relative;padding:5px 9px;border:1px solid #000001;text-align:left;word-wrap:break-word;overflow:hidden}.ui-tooltip-titlebar{position:relative;min-height:14px;padding:5px 35px 5px 10px;overflow:hidden;border:solid #000001;border-width:1px 1px 0;font-weight:700}.ui-tooltip-titlebar+.ui-tooltip-content{border-top-width:0!important}.ui-tooltip-titlebar .ui-state-default{position:absolute;right:4px;top:50%;margin-top:-9px;cursor:pointer;outline:medium none;border-width:1px;border-style:solid}* html .ui-tooltip-titlebar .ui-state-default{top:16px}.ui-tooltip-icon .ui-icon,.ui-tooltip-titlebar .ui-icon{display:block;text-indent:-1000em}.ui-tooltip-icon,.ui-tooltip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.ui-tooltip-icon .ui-icon{width:18px;height:14px;text-align:center;text-indent:0;font:normal 700 10px/13px Tahoma,sans-serif;color:inherit;background:transparent none no-repeat -100em -100em}.ui-tooltip-default .ui-tooltip-content,.ui-tooltip-default .ui-tooltip-titlebar{border-color:#f1d031;background-color:#ffffa3;color:#555}.ui-tooltip-default .ui-tooltip-titlebar{background-color:#ffef93}.ui-tooltip-default .ui-tooltip-icon{border-color:#ccc;background:#f1f1f1;color:#777}.ui-tooltip-default .ui-tooltip-titlebar .ui-state-hover{border-color:#aaa;color:#111}#qtip-overlay{position:fixed;left:-10000em;top:-10000em}#qtip-overlay.blurs{cursor:pointer}#qtip-overlay div{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;opacity:.7;filter:alpha(opacity=70);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"}.ui-tooltip .ui-tooltip-tip{margin:0 auto;overflow:hidden;z-index:10}.ui-tooltip .ui-tooltip-tip,.ui-tooltip .ui-tooltip-tip *{position:absolute;line-height:.1px!important;font-size:.1px!important;color:#123456;background:transparent;border:0 dashed transparent}.ui-tooltip .ui-tooltip-tip canvas{top:0;left:0}.ui-tooltip-light .ui-tooltip-content,.ui-tooltip-light .ui-tooltip-titlebar{border-color:#e2e2e2;color:#454545}.ui-tooltip-light .ui-tooltip-content{background-color:#fff}.ui-tooltip-light .ui-tooltip-titlebar{background-color:#f1f1f1}.ui-tooltip-dark .ui-tooltip-content,.ui-tooltip-dark .ui-tooltip-titlebar{border-color:#303030;color:#f3f3f3}.ui-tooltip-dark .ui-tooltip-content{background-color:#505050}.ui-tooltip-dark .ui-tooltip-titlebar{background-color:#404040}.ui-tooltip-dark .ui-tooltip-icon{border-color:#444}.ui-tooltip-dark .ui-tooltip-titlebar .ui-state-hover{border-color:#303030}.ui-tooltip-cream .ui-tooltip-content,.ui-tooltip-cream .ui-tooltip-titlebar{border-color:#f9e98e;color:#a27d35}.ui-tooltip-cream .ui-tooltip-content{background-color:#fbf7aa}.ui-tooltip-cream .ui-tooltip-titlebar{background-color:#f0de7d}.ui-tooltip-cream .ui-state-default .ui-tooltip-icon{background-position:-82px 0}.ui-tooltip-red .ui-tooltip-content,.ui-tooltip-red .ui-tooltip-titlebar{border-color:#d95252;color:#912323}.ui-tooltip-red .ui-tooltip-content{background-color:#f78b83}.ui-tooltip-red .ui-tooltip-titlebar{background-color:#f06d65}.ui-tooltip-red .ui-state-default .ui-tooltip-icon{background-position:-102px 0}.ui-tooltip-red .ui-tooltip-icon,.ui-tooltip-red .ui-tooltip-titlebar .ui-state-hover{border-color:#d95252}.ui-tooltip-green .ui-tooltip-content,.ui-tooltip-green .ui-tooltip-titlebar{border-color:#90d93f;color:#3f6219}.ui-tooltip-green .ui-tooltip-content{background-color:#caed9e}.ui-tooltip-green .ui-tooltip-titlebar{background-color:#b0de78}.ui-tooltip-green .ui-state-default .ui-tooltip-icon{background-position:-42px 0}.ui-tooltip-blue .ui-tooltip-content,.ui-tooltip-blue .ui-tooltip-titlebar{border-color:#add9ed;color:#5e99bd}.ui-tooltip-blue .ui-tooltip-content{background-color:#e5f6fe}.ui-tooltip-blue .ui-tooltip-titlebar{background-color:#d0e9f5}.ui-tooltip-blue .ui-state-default .ui-tooltip-icon{background-position:-2px 0}.ui-tooltip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.ui-tooltip-shadow .ui-tooltip-content,.ui-tooltip-shadow .ui-tooltip-titlebar{-ms-filter:"progid:DXImageTransform.Microsoft.Shadow(Color='gray', Direction=135, Strength=3)"}.ui-tooltip-rounded,.ui-tooltip-rounded .ui-tooltip-content,.ui-tooltip-tipsy,.ui-tooltip-tipsy .ui-tooltip-content,.ui-tooltip-youtube,.ui-tooltip-youtube .ui-tooltip-content{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.ui-tooltip-rounded .ui-tooltip-titlebar,.ui-tooltip-tipsy .ui-tooltip-titlebar,.ui-tooltip-youtube .ui-tooltip-titlebar{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.ui-tooltip-rounded .ui-tooltip-titlebar+.ui-tooltip-content,.ui-tooltip-tipsy .ui-tooltip-titlebar+.ui-tooltip-content,.ui-tooltip-youtube .ui-tooltip-titlebar+.ui-tooltip-content{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.ui-tooltip-youtube{-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333}.ui-tooltip-youtube .ui-tooltip-content,.ui-tooltip-youtube .ui-tooltip-titlebar{background:transparent;background:rgba(0,0,0,.85);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)";color:#fff;border-color:#ccc}.ui-tooltip-youtube .ui-tooltip-icon{border-color:#222}.ui-tooltip-youtube .ui-tooltip-titlebar .ui-state-hover{border-color:#303030}.ui-tooltip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));border:2px solid #f1f1f1;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.ui-tooltip-jtools .ui-tooltip-content,.ui-tooltip-jtools .ui-tooltip-titlebar{background:transparent;color:#fff;border:0 dashed transparent}.ui-tooltip-jtools .ui-tooltip-icon{border-color:#555}.ui-tooltip-jtools .ui-tooltip-titlebar .ui-state-hover{border-color:#333}.ui-tooltip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4)}.ui-tooltip-cluetip .ui-tooltip-titlebar{background-color:#87876a;color:#fff;border:0 dashed transparent}.ui-tooltip-cluetip .ui-tooltip-content{background-color:#d9d9c2;color:#111;border:0 dashed transparent}.ui-tooltip-cluetip .ui-tooltip-icon{border-color:#808064}.ui-tooltip-cluetip .ui-tooltip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.ui-tooltip-tipsy{border:0}.ui-tooltip-tipsy .ui-tooltip-content,.ui-tooltip-tipsy .ui-tooltip-titlebar{background:transparent;background:rgba(0,0,0,.87);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)";color:#fff;border:0 transparent;font-size:11px;font-weight:700;line-height:16px;text-shadow:0 1px #000}.ui-tooltip-tipsy .ui-tooltip-titlebar{padding:6px 35px 0 10px}.ui-tooltip-tipsy .ui-tooltip-content{padding:6px 10px}.ui-tooltip-tipsy .ui-tooltip-icon{border-color:#222;text-shadow:none}.ui-tooltip-tipsy .ui-tooltip-titlebar .ui-state-hover{border-color:#303030}.ui-tooltip-tipped .ui-tooltip-content,.ui-tooltip-tipped .ui-tooltip-titlebar{border:3px solid #959fa9;filter:none;-ms-filter:none}.ui-tooltip-tipped .ui-tooltip-content{background-color:#f9f9f9;color:#454545;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.ui-tooltip-tipped .ui-tooltip-icon{border:2px solid #285589;background:#285589}.ui-tooltip-tipped .ui-tooltip-icon .ui-icon{background-color:#fbfbfb;color:#555}.fileupload-buttonbar span.ui-icon-cancel{background:transparent url(images/rup.cancel.png) no-repeat!important;width:16px;height:16px}.fileupload-buttonbar span.ui-icon-trash{background:transparent url(images/borrar.png) no-repeat!important;width:16px;height:16px}.fileupload-buttonbar span.ui-icon-circle-arrow-e,.fileupload-content .rup-dropdown-btn-group .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-dropdown-button span.ui-icon-circle-arrow-e,.fileupload-content .rup-wizard .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_submitButton span.ui-icon-circle-arrow-e,.fileupload-content .rup-wizard a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_next span.ui-icon-circle-arrow-e,.fileupload-content .rup-wizard a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_prev span.ui-icon-circle-arrow-e,.fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-button span.ui-icon-circle-arrow-e,.fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-toolbar_menuButton span.ui-icon-circle-arrow-e,.fileupload-content button.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary span.ui-icon-circle-arrow-e,.rup-dropdown-btn-group .fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-dropdown-button span.ui-icon-circle-arrow-e,.rup-wizard .fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_submitButton span.ui-icon-circle-arrow-e,.rup-wizard .fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_next span.ui-icon-circle-arrow-e,.rup-wizard .fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_prev span.ui-icon-circle-arrow-e{background:transparent url(images/rup.upload.png) no-repeat!important;width:16px;height:16px}.fileupload-content .rup-dropdown-btn-group .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-dropdown-button span.ui-icon-cancel,.fileupload-content .rup-wizard .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_submitButton span.ui-icon-cancel,.fileupload-content .rup-wizard a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_next span.ui-icon-cancel,.fileupload-content .rup-wizard a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_prev span.ui-icon-cancel,.fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-button span.ui-icon-cancel,.fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-toolbar_menuButton span.ui-icon-cancel,.fileupload-content button.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary span.ui-icon-cancel,.rup-dropdown-btn-group .fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-dropdown-button span.ui-icon-cancel,.rup-wizard .fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_submitButton span.ui-icon-cancel,.rup-wizard .fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_next span.ui-icon-cancel,.rup-wizard .fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_prev span.ui-icon-cancel{background:transparent url(images/rup.cancel.png) no-repeat!important;width:16px;height:16px}.fileupload-content .rup-dropdown-btn-group .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-dropdown-button span.ui-icon-trash,.fileupload-content .rup-wizard .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_submitButton span.ui-icon-trash,.fileupload-content .rup-wizard a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_next span.ui-icon-trash,.fileupload-content .rup-wizard a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_prev span.ui-icon-trash,.fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-button span.ui-icon-trash,.fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-toolbar_menuButton span.ui-icon-trash,.fileupload-content button.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary span.ui-icon-trash,.rup-dropdown-btn-group .fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-dropdown-button span.ui-icon-trash,.rup-wizard .fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_submitButton span.ui-icon-trash,.rup-wizard .fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_next span.ui-icon-trash,.rup-wizard .fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_prev span.ui-icon-trash{background:transparent url(images/borrar.png) no-repeat!important;width:16px;height:16px}.fileupload-content .file_icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAANkE3LLaAgAAARxJREFUeJydkTFqhEAUhv/RaQRJJRirnEJILhEJpLGyMpfxAFaWOUGaVHuAgHXA2iKCYCUS5vkmzWaZWV3X5IdhmOGb7/HmCRxzOBy+mVlhJY7juF3X1WmaPgP4WgC+7z8Rkb60pmnSTdPoqqo+ANxY8uOu1yqbGccRWZbFZVm+AwjOBZuRUoKI0Pc98jx/KIriDcDtboEQAkoptG2Luq6RJMl9FEWPACBNUOvLncRxDCICEcHzPAgh3IVgTytS2k+sEzPvErmu+z8BM4OZ4Xne3wTMDK01mBmO41isJVBKnQATMsXnRSwBEW22sBYJAPM8w9yvRWt9Yq/+gRBicWdyliAIgl19m2P81d+FYfjCBrkxEQEAwzC8Avj8ARK8rCIgUJQ+AAAAAElFTkSuQmCC);width:15px}.fileupload-content .file_download{margin-top:.5em}.fileupload-content .file_download_icon{background-image:url(images/rup.download.png);width:15px;margin-top:.5em;padding-left:12px}.fileupload-content .file_download_text{margin-left:.5em;text-decoration:underline}.fileupload-buttonbar{border-top:none;border-left:none;border-right:none;padding-left:0}.fileupload-content .ui-progressbar{height:15px;margin-top:.5em}.fileupload-content.ui-widget-content.ui-corner-bottom{border-top:none;border-left:none;border-right:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.fileupload-content .izq_float{float:left;margin-right:1em;margin-bottom:.5em}form.rup_validate input.error{border:1px dotted red}form.rup_validate label.error{color:red;font-style:italic}.widget-header{padding-top:.35em}.widget-header>div{display:inline-flex}.widget-header>div.widget-header-controls{float:right;padding-top:.15em}.rup-wizard_stepsDescContainer{list-style:none;width:99%;overflow:hidden;height:35px}.rup-wizard_stepDesc a{font-family:Arial,Helvetica,clean,sans-serif!important;cursor:pointer;color:#0052c7;float:left;text-decoration:underline;text-align:center;height:35px;background:#ebebeb url(data:image/gif;base64,R0lGODlhCwAjAIQAAP////7+/v39/fz8/Pv7+/r6+vn5+fj4+Pb29vX19fT09PPz8/Hx8fDw8O/v7+7u7uzs7Ovr6////////////////////////////////////////////////////////ywAAAAACwAjAAAFUWABRGRpAoqpKqN6Fm75tHEUBDUJOPlBx4BEjvFzAWC5ACRHKKoAjVzCeRLWHNRSNvLA1QCDWmN7rE1zwZqBzKgJBMlH7XYlI10L8qGGIC9qIQA7) no-repeat 100% 0;font-size:1.09em;padding:9px 25px 0 10px;display:block;font-style:normal;font-weight:700}.rup-wizard_stepDesc a:hover{text-decoration:none}.rup-wizard_stepDesc a:focus{border-style:none;border-width:thin;outline:none}.rup-wizard_stepDesc.current a{color:#fff;text-decoration:none;cursor:default;background:#69c url(data:image/gif;base64,R0lGODdhCwAjAPcAAGaZzOvr6////+Dq9ezs7PX19fDw8Pr6+nKYvvPz84+itvj4+O7u7vz8/NPc5tTe56KtvH+bt5inuGuYxbO9yLS9yMjR2+/v78rS3Iietfn5+XiZuqu1wfHx8b/H0d3p9Kq0wfv7+/T09Kq5yL/H0Iikw/DZxfb29mqWwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAE+xIAWH13ADT5EgAmizl+NQSSfD4EknxomRUAJAACACz6EgACAAAAuUKSfADg/X8AEJF8KPkSAFj5EgAAAAAAuACSfGT5EgAAAAAAuACSfOBoFwAw+hIAQQCSfNgHFABdAJJ8/GgXAOhoFwAAAAAAAAAUAAAAAAA4hkgAYJcVAL4AwACAdRQAePoBAAUAAAD8+BIAgHUUAOT5EgAg6ZF8YACSfP////9dAJJ8UhSSfIMUknwg4Zh8YBSSfOBoFwA4AAAA/GgXAADQ/X/M+RIAGAIAACj6EgAg6ZF8aBSSfP////9gFJJ8AAAUAPITknz8aBcA6GgXAAAAAAB4ZhcAaOEBAAcAAAB0+RIAAAAAAHT6EgAg6ZF8YACSfP////9dAJJ8++6AfAAAFAAAAAAAB++AfFavOn4AAEAAAQAAAADQ/X8BAAAAAAAAAEQBAADoaBcAYJcVAAAAAABE+hIAQQBSALD/EgDYmoN8EO+AfP////8H74B8XFdDAOhoFwBWrzp+JAAAACAAAADlEXUxzErNAWE1a/HlSs0BYTVr8eVKzQEAAAAAMAIAANoJDgChJQQwAAAAAEh2FAB1bF9hcnJvdyABAAByZQB0AAAUANj4EgD4+hIANPsSACDpkXzgAZJ8/////9sBknx/moB8AAAUAAgAFACQmoB8Vq86fgAAAAAAAAAAAAAAAAAAAABE2kQApHYUAOxeFwCodhQAmIZIAP////9IdhQAntpEAKR2FABz0EQASHYUACH5BAAAAAAALAAAAAALACMAQAiQAEcICECwYEEACBEOKGAwoUOEEwQ8BMBhIEGFCwweRGhR40QAJCx+BIBgoMMHHS9mSNkwoYALHh8OOLBxogKTIwFItCnSIYaUCWdqDABgQIKhBFEMEIGUaFGaQxM6YOkUIQSWDzcAnSiAwMWPAwxUnbgwZ9GcAxqMFAqW4ViOHWpyZNASQMSoACJQJSphb4CAADs=) no-repeat 100% 0}.rup-wizard_stepDesc.visited a{text-decoration:underline;cursor:default;background:#ebebeb url(data:image/gif;base64,R0lGODlhDQAjAKECAGaZzP///wAAAAAAACH5BAEKAAIALAAAAAANACMAAAJCDI55YqrsHoxLzGhtc/nKvCWdxo1hZX4pMoJiS6JwA3dG7eKgrvG3/qvRhKzZqxUyHl0qT5GpOj2lRWqVsrAitIgCADs=) no-repeat 100% 0}.rup-wizard_stepDesc.disabled a{color:#d3d3d3;text-decoration:none;cursor:default}.rup-wizard_lastStepDesc a{background:#ebebeb url(data:image/gif;base64,R0lGODlhCwAjAPcAAP////7+/v39/fz8/Pv7+/r6+vn5+fj4+Pb29vX19fT09PPz8/Hx8fDw8O/v7+7u7uzs7Ovr6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFABIdhQABPQSAAAAAABI9hIAIOmRfCgCknz/////IgKSfJsBknzbAZJ8AAAAAAAAAAB4+RIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ2lmAAIAAADBGpJ88PUSACx5AAAAAO48IwOSfBTCAQAseQAAAADuPKgA7jwAAAAAAAAAAAAQ7jzw9RIAyPQSAAAA7jyU9RIAIOmRfMgaknz/////wRqSfHcdknwAAO48IDHuPIT1EgAAAAAAAAAAAD8akny3HZJ8AADuPBT1EgAAAAAAAAAAAHz1EgCk9RIA1R2SfBTCAQAgMe48hPUSAAAAAAB+oIB8AADuPCAx7jyE9RIAlaCAfPD1EgAseQAAAAAAABAAAAASAAAA9PUSAP4AAAC49RIAxNQ6fvxtSAD+AAAA0PUSAAKn7zwkAAAAAAAAAP4AAAAAAAAA5PUSAD3JOn4AAAAAAqfvPBIAAAD09RIAEgAAAAAAAACyAkgACm5IAG9PFAD4ThQAy7NCAAAA7jwCp+88JAAAAP8AAADhtEIALHkAAPxtSAD/AAAAb08UAG32EgB/3EEALHkAAPhOFAAAAAAAAAAAAEh2FAB3AAAAdwAAACABAAAdAAAAAAAUADj0EgBibXA7lPYSACDpkXzgAZJ8/////9sBknx/moB8AAAUAAgAFACQmoB8+E4UAAAAAAAAAAAAAAAAAAAAAABE2kQAnHYUAOxeFwCgdhQA0PkSAP////9IdhQAntpEAJx2FABz0EQASHYUACwAAAAACwAjAAAIeAALABhIsGCEgggBHExIMMJChg4fMFToMECAhA4dQsx4AGPGhw0/MkD4UaPAgSUrhixJYGVJlx8ToEypkSJNBzZp5iz5IABNjQN+NpiZEoBAmjKJfjRY0gDTpU8dCiD58WJUi1Qj4PR48CTTBRM1dsSIYKJCswACAgA7) no-repeat 100% 0}.rup-wizard_lastStepDesc.current a{color:#fff;text-decoration:none;cursor:default;background:#69c url(data:image/gif;base64,R0lGODlhCwAjAPcAAGaZzOvr6////+Dq9ezs7PX19fDw8Pr6+nKYvvPz84+itvj4+O7u7vz8/NPc5tTe56KtvH+bt5inuGuYxbO9yLS9yMjR2+/v78rS3Iietfn5+XiZuqu1wfHx8b/H0d3p9Kq0wfv7+/T09Kq5yL/H0Iikw/DZxfb29mqWwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAE+xIAWH13ADT5EgAmizl+NQSSfD4EknxomRUAJAACACz6EgACAAAAuUKSfADg/X8AEJF8KPkSAFj5EgAAAAAAuACSfGT5EgAAAAAAuACSfOBoFwAw+hIAQQCSfNgHFABdAJJ8/GgXAOhoFwAAAAAAAAAUAAAAAAA4hkgAYJcVAL4AwACAdRQAePoBAAUAAAD8+BIAgHUUAOT5EgAg6ZF8YACSfP////9dAJJ8UhSSfIMUknwg4Zh8YBSSfOBoFwA4AAAA/GgXAADQ/X/M+RIAGAIAACj6EgAg6ZF8aBSSfP////9gFJJ8AAAUAPITknz8aBcA6GgXAAAAAAB4ZhcAaOEBAAcAAAB0+RIAAAAAAHT6EgAg6ZF8YACSfP////9dAJJ8++6AfAAAFAAAAAAAB++AfFavOn4AAEAAAQAAAADQ/X8BAAAAAAAAAEQBAADoaBcAYJcVAAAAAABE+hIAQQBSALD/EgDYmoN8EO+AfP////8H74B8XFdDAOhoFwBWrzp+JAAAACAAAADlEXUxzErNAWE1a/HlSs0BYTVr8eVKzQEAAAAAMAIAANoJDgChJQQwAAAAAEh2FAB1bF9hcnJvdyABAAByZQB0AAAUANj4EgD4+hIANPsSACDpkXzgAZJ8/////9sBknx/moB8AAAUAAgAFACQmoB8Vq86fgAAAAAAAAAAAAAAAAAAAABE2kQApHYUAOxeFwCodhQAmIZIAP////9IdhQAntpEAKR2FABz0EQASHYUACwAAAAACwAjAAAIewBHCBhIsCCKASIKFgSQQeFCAAMOOBQAoOJEihUdTKxo0SFHABA8fhyg8COADSVNkiRosuPAlgBIsIS5EiYABS9tDihgE8AEjDp7AgDackADmwhyFpUIE6fSkTM/cnj4MSVHDFZdRgXwQKTPjRUjioxwMWxZCRcprpwYEAA7) no-repeat 100% 0}.rup-wizard_prev{margin:5px 5px 5px 17px;text-decoration:none;color:#666565;padding:7px 7px 7px 37px;float:left;cursor:pointer;background:#ebebeb url(images/prev.png) no-repeat 0;border:1px solid #bdbdbd;text-align:center;width:55px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.rup-wizard_prev:HOVER{color:#666565;text-decoration:underline}.rup-wizard_next{margin:5px 17px 5px 5px;text-decoration:none;color:#666565;padding:7px 37px 7px 7px;float:right;cursor:pointer;background:#ebebeb url(images/next.png) no-repeat 100%;border:1px solid #bdbdbd;text-align:center;width:55px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.rup-wizard_next:HOVER{color:#666565;background:#fff url(images/next.png) no-repeat 100%;text-decoration:underline}.rup-wizard_submitButton{margin:5px 17px 5px 5px;text-decoration:none;color:#666565;padding:11px 37px 7px 7px;float:right;cursor:pointer;background:#ebebeb url(images/submit.png) no-repeat 100%;border:1px solid #bdbdbd;text-align:center;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.rup-wizard_submitButton:HOVER{color:#666565;background:#fff url(images/submit.png) no-repeat 100%;text-decoration:underline}.rup-wizard_tabLevel-0{margin-left:1em;color:green}.rup-wizard_tabLevel-1{margin-left:2em;color:red}.rup-wizard_tabLevel-2{margin-left:2.5em;color:#00f}.rup-wizard_tabContainerLevel-0{margin-left:1em}.rup-wizard_tabContainerLevel-1{margin-left:2em}.rup-wizard_tabContainerLevel-2{margin-left:2.5em}.rup_tree{visibility:hidden}.jstree-rup-default ins,.jstree-rup-default li{background-image:url(images/d.png);background-repeat:no-repeat;background-color:transparent}.jstree-rup-default li{background-position:-93px 0;background-repeat:repeat-y}.jstree-rup-default li.jstree-last{background:transparent}.jstree-rup-default .jstree-open>ins{background-position:-72px 0}.jstree-rup-default .jstree-closed>ins{background-position:-54px 0}.jstree-rup-default .jstree-leaf>ins{background-position:-37px 0}.jstree-rup-default .jstree-hovered{background:#e7f4f9;border:1px solid #e7f4f9;padding:0 2px 0 1px}.jstree-rup-default .jstree-clicked{background:navy;border:1px solid navy;padding:0 2px 0 1px;color:#fff}.jstree-rup-default a .jstree-icon{background-position:-56px -19px}.jstree-rup-default .jstree-open>a .jstree-icon{background-position:-56px -36px}.jstree-rup-default a.jstree-loading .jstree-icon{background:url(images/throbber.gif) 50% no-repeat!important}.jstree-rup-default.jstree-focused{background:#fff}.jstree-rup-default ul:first-child>li.jstree-leaf:first-child>ins{background-position:-72px -36px}.jstree-rup-default ul:first-child>li.jstree-open:first-child>ins{background-position:-72px -54px}.jstree-rup-default ul:first-child>li.jstree-closed:first-child>ins{background-position:-54px -54px}.jstree-rup-default .jstree-no-dots .jstree-leaf>ins,.jstree-rup-default .jstree-no-dots li,.jstree-rup-default ul:first-child.jstree-no-dots>li.jstree-leaf:first-child>ins{background:transparent}.jstree-rup-default .jstree-no-dots .jstree-open>ins,.jstree-rup-default ul:first-child.jstree-no-dots>li.jstree-open:first-child>ins{background-position:-18px 0}.jstree-rup-default .jstree-no-dots .jstree-closed>ins,.jstree-rup-default ul:first-child.jstree-no-dots>li.jstree-closed:first-child>ins{background-position:0 0}.jstree-rup-default .jstree-no-icons a .jstree-icon{display:none}.jstree-rup-default .jstree-search{font-style:italic}.jstree-rup-default .jstree-no-icons .jstree-checkbox{display:inline-block}.jstree-rup-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-rup-default .jstree-checked>a>.jstree-checkbox{background-position:-38px -19px}.jstree-rup-default .jstree-unchecked>a>.jstree-checkbox{background-position:-2px -19px}.jstree-rup-default .jstree-undetermined>a>.jstree-checkbox{background-position:-20px -19px}.jstree-rup-default .jstree-checked>a>.jstree-checkbox:hover{background-position:-38px -37px}.jstree-rup-default .jstree-unchecked>a>.jstree-checkbox:hover{background-position:-2px -37px}.jstree-rup-default .jstree-undetermined>a>.jstree-checkbox:hover{background-position:-20px -37px}#vakata-dragged.jstree-rup-default ins{background:transparent!important}#vakata-dragged.jstree-rup-default .jstree-ok{background:url(images/d.png) -2px -53px no-repeat!important}#vakata-dragged.jstree-rup-default .jstree-invalid{background:url(images/d.png) -18px -53px no-repeat!important}#jstree-marker.jstree-rup-default{background:url(images/d.png) -41px -57px no-repeat!important;text-indent:-100px}.jstree-rup-default a.jstree-search{font-weight:700}.jstree-rup-default .jstree-locked a{color:silver;cursor:default}#vakata-contextmenu.jstree-rup-default-context,#vakata-contextmenu.jstree-rup-default-context li ul{background:#f0f0f0;border:1px solid #979797;-moz-box-shadow:1px 1px 2px #999;-webkit-box-shadow:1px 1px 2px #999;box-shadow:1px 1px 2px #999}#vakata-contextmenu.jstree-rup-default-context a{color:#000}#vakata-contextmenu.jstree-rup-default-context .vakata-hover>a,#vakata-contextmenu.jstree-rup-default-context a:hover{padding:0 5px;background:#e8eff7;border:1px solid #aecff7;color:#000;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}#vakata-contextmenu.jstree-rup-default-context li.jstree-contextmenu-disabled a,#vakata-contextmenu.jstree-rup-default-context li.jstree-contextmenu-disabled a:hover{color:silver;background:transparent;border:0;padding:1px 4px}#vakata-contextmenu.jstree-rup-default-context li.vakata-separator{background:#fff;border-top:1px solid #e0e0e0;margin:0}#vakata-contextmenu.jstree-rup-default-context li ul{margin-left:-4px}#jstree-marker.jstree-rup-default,#vakata-dragged.jstree-rup-default .jstree-invalid,#vakata-dragged.jstree-rup-default .jstree-ok,.jstree-rup-default ins,.jstree-rup-default li{_background-image:url(images/d.gif)}.jstree-rup-default .jstree-open ins{_background-position:-72px 0}.jstree-rup-default .jstree-closed ins{_background-position:-54px 0}.jstree-rup-default .jstree-leaf ins{_background-position:-36px 0}.jstree-rup-default .jstree-open a ins.jstree-icon{_background-position:-56px -36px}.jstree-rup-default .jstree-closed a ins.jstree-icon,.jstree-rup-default .jstree-leaf a ins.jstree-icon{_background-position:-56px -19px}#vakata-contextmenu.jstree-rup-default-context ins{_display:none}#vakata-contextmenu.jstree-rup-default-context li{_zoom:1}.jstree-rup-default .jstree-undetermined a .jstree-checkbox{_background-position:-20px -19px}.jstree-rup-default .jstree-checked a .jstree-checkbox{_background-position:-38px -19px}.jstree-rup-default .jstree-unchecked a .jstree-checkbox{_background-position:-2px -19px}[class*=cal-cell]{float:left;margin-left:0;min-height:1px}.cal-row-fluid{width:100%}.cal-row-fluid:after,.cal-row-fluid:before{display:table;content:"";line-height:0}.cal-row-fluid:after{clear:both}.cal-row-fluid [class*=cal-cell]{display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:0}.cal-row-fluid .controls-row [class*=cal-cell]+[class*=cal-cell],.cal-row-fluid [class*=cal-cell]:first-child{margin-left:0}.cal-row-fluid .cal-cell7{width:100%}.cal-row-fluid .cal-cell6{width:85.71428571428571%}.cal-row-fluid .cal-cell5{width:71.42857142857142%}.cal-row-fluid .cal-cell4{width:57.14285714285714%}.cal-row-fluid .cal-cell3{width:42.857142857142854%}.cal-row-fluid .cal-cell2{width:28.57142857142857%}.cal-row-fluid .cal-offset7,.cal-row-fluid .cal-offset7:first-child,.cal-week-box .cal-offset7{margin-left:100%}.cal-row-fluid .cal-offset6,.cal-row-fluid .cal-offset6:first-child,.cal-week-box .cal-offset6{margin-left:85.71428571428571%}.cal-row-fluid .cal-offset5,.cal-row-fluid .cal-offset5:first-child,.cal-week-box .cal-offset5{margin-left:71.42857142857142%}.cal-row-fluid .cal-offset4,.cal-row-fluid .cal-offset4:first-child,.cal-week-box .cal-offset4{margin-left:57.14285714285714%}.cal-row-fluid .cal-offset3,.cal-row-fluid .cal-offset3:first-child,.cal-week-box .cal-offset3{margin-left:42.857142857142854%}.cal-row-fluid .cal-offset2,.cal-row-fluid .cal-offset2:first-child,.cal-week-box .cal-offset2{margin-left:28.57142857142857%}.cal-row-fluid .cal-offset1,.cal-row-fluid .cal-offset1:first-child,.cal-week-box .cal-offset1{margin-left:14.285714285714285%}.cal-row-fluid .cal-cell1{width:14.285714285714285%}.cal-row-fluid [class*=cal-cell].hide,[class*=cal-cell].hide{display:none}.cal-row-fluid [class*=cal-cell].pull-right,[class*=cal-cell].pull-right{float:right}.cal-row-head [class*=cal-cell],.cal-row-head [class*=cal-cell]:first-child{min-height:auto;overflow:hidden;text-overflow:ellipsis}.cal-events-num{margin-top:20px}.cal-month-day{position:relative;display:block;width:100%}#cal-week-box{width:70px;left:-71px;top:-1px;padding:8px 5px}#cal-day-tick,#cal-week-box{position:absolute;cursor:pointer}#cal-day-tick{right:50%;bottom:-21px;padding:0 5px;z-index:5;width:26px;margin-right:-17px}.cal-year-box #cal-day-tick{margin-right:-7px}#cal-slide-tick{position:absolute;z-index:1;margin-left:-7px;top:-1.25rem;font:normal normal normal 14px/1 Material Design Icons;font-size:2.5rem;color:#fff;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#cal-slide-tick:before{content:"\F72D"}#cal-slide-tick.tick-month1{left:12.5%}#cal-slide-tick.tick-month2{left:37.5%}#cal-slide-tick.tick-month3{left:62.5%}#cal-slide-tick.tick-month4{left:87.5%}#cal-slide-tick.tick-day1{left:7.14285714285715%}#cal-slide-tick.tick-day2{left:21.42857142857143%}#cal-slide-tick.tick-day3{left:35.71428571428572%}#cal-slide-tick.tick-day4{left:50%}#cal-slide-tick.tick-day5{left:64.2857142857143%}#cal-slide-tick.tick-day6{left:78.57142857142858%}#cal-slide-tick.tick-day7{left:92.85714285714285%}.events-list{position:absolute;bottom:0;left:0;overflow:hidden}#cal-slide-content ul.unstyled{margin-bottom:0}.cal-week-box{position:relative}.cal-week-box [data-event-class]{white-space:nowrap;height:30px;margin:1px;line-height:30px;text-overflow:ellipsis;overflow:hidden;padding-left:10px}.cal-week-box .cal-column{position:absolute;height:100%;z-index:-1}.cal-week-box .arrow-after,.cal-week-box .arrow-before{position:relative}.cal-week-box .arrow-after:after{content:"";position:absolute;top:0;width:0;height:0;right:0;border-top:15px solid #fff;border-left:8px solid;border-bottom:15px solid #fff}.cal-week-box .arrow-before:before{content:"";position:absolute;top:0;width:0;height:0;left:1px;border-top:15px solid transparent;border-left:8px solid #fff;border-bottom:15px solid transparent}#cal-day-box .cal-day-hour-part{height:30px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border-bottom:thin dashed #e1e1e1}#cal-day-box .cal-day-hour .day-highlight{height:30px}#cal-day-box .cal-hours{font-weight:bolder}#cal-day-box .cal-day-hour:nth-child(odd){background-color:#fafafa}#cal-day-box #cal-day-panel{position:relative;padding-left:60px}#cal-day-box #cal-day-panel-hour{position:absolute;width:100%;margin-left:-60px}#cal-day-box .day-event{position:relative;max-width:200px;overflow:hidden}#cal-day-box .day-highlight{line-height:30px;padding-left:8px;padding-right:8px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border:1px solid #c3c3c3;margin:1px;overflow:hidden;text-overflow:ellipsis}#cal-day-box .day-highlight.dh-event-important{border:1px solid #ad2121}#cal-day-box .day-highlight.dh-event-warning{border:1px solid #e3bc08}#cal-day-box .day-highlight.dh-event-info{border:1px solid #1e90ff}#cal-day-box .day-highlight.dh-event-inverse{border:1px solid #1b1b1b}#cal-day-box .day-highlight.dh-event-success{border:1px solid #006400}#cal-day-box .day-highlight.dh-event-special{background-color:#ffe6ff;border:1px solid purple}.event{display:inline-block;width:12px;height:12px;margin-right:2px;margin-bottom:2px;-webkit-box-shadow:inset 0 0 5px 0 rgba(0,0,0,.4);box-shadow:inset 0 0 5px 0 rgba(0,0,0,.4);border-radius:8px;border:1px solid transparent}.event,.event-block{background-color:#c3c3c3}.event-block{display:block;width:20px;height:100%}.cal-event-list .event.pull-left{margin-top:3px}.event-important{background-color:#ad2121}.event-info{background-color:#1e90ff}.event-warning{background-color:#e3bc08}.event-inverse{background-color:#1b1b1b}.event-success{background-color:#006400}.event-special{background-color:purple}.day-highlight,.day-highlight:hover{background-color:#ddd}.day-highlight.dh-event-important,.day-highlight.dh-event-important:hover{background-color:#fae3e3}.day-highlight.dh-event-warning,.day-highlight.dh-event-warning:hover{background-color:#fdf1ba}.day-highlight.dh-event-info,.day-highlight.dh-event-info:hover{background-color:#d1e8ff}.day-highlight.dh-event-inverse,.day-highlight.dh-event-inverse:hover{background-color:#c1c1c1}.day-highlight.dh-event-success,.day-highlight.dh-event-success:hover{background-color:#caffca}.day-highlight.dh-event-special,.day-highlight.dh-event-special:hover{background-color:#ffe6ff}.cal-row-head [class*=cal-cell],.cal-row-head [class*=cal-cell]:first-child{font-weight:bolder;text-align:center;border:0 solid;padding:5px 0}.cal-row-head [class*=cal-cell] small{font-weight:400}.cal-row-fluid:hover,.cal-year-box .row-fluid:hover{background-color:#fafafa}.cal-month-day{height:100px}[class*=cal-cell]:hover{background-color:#ededed}.cal-month-box [class*=cal-cell],.cal-year-box [class*=span]{min-height:100px;border-right:1px solid #e1e1e1;position:relative}.cal-year-box [class*=span]{min-height:10rem}.cal-month-box .cal-row-fluid [class*=cal-cell]:last-child,.cal-year-box .row-fluid [class*=span]:last-child{border-right:0}.cal-month-box .cal-row-fluid,.cal-year-box .row-fluid{border-bottom:1px solid #e1e1e1;margin-left:0;margin-right:0}.cal-month-box .cal-row-fluid:last-child,.cal-year-box .row-fluid:last-child{border-bottom:0}.cal-month-box,.cal-week-box,.cal-year-box{border:1px solid #e1e1e1;border-radius:2px}span[data-cal-date]{font-size:2vh;font-weight:400;opacity:.5;cursor:pointer;transition:all .3s ease-in-out;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;-ms-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;margin-top:1vh;margin-right:1vh}span[data-cal-date]:hover{opacity:1}.cal-day-outmonth span[data-cal-date]{opacity:.1;cursor:default}.cal-month-box .cal-day-today{background-color:#e8fde7}.cal-month-box .cal-day-today span[data-cal-date]{color:#006400;font-size:2.5vh;font-weight:500;width:4.5vh;height:4.5vh;line-height:4.5vh}.cal-day-today span[data-cal-date]{color:#006400}.cal-day-holiday span[data-cal-date]{color:purple}.cal-day-weekend span[data-cal-date]{color:#8b0000}#cal-week-box{border:1px solid #e1e1e1;border-right:0;border-radius:5px 0 0 5px;background-color:#fafafa;text-align:right}#cal-day-tick{border:1px solid #e1e1e1;border-top:0 solid;border-radius:0 0 5px 5px;background-color:#ededed;text-align:center}#cal-slide-box{margin-top:-1px}#cal-slide-content{padding:2vh;color:#fff;-webkit-box-shadow:inset 0 0 15px 0 rgba(0,0,0,.5);box-shadow:inset 0 0 15px 0 rgba(0,0,0,.5)}#cal-slide-content:hover{background-color:transparent}#cal-slide-content a.event-item{color:#fff;font-weight:400;line-height:22px}.events-list{max-height:47px}.cal-column{border-left:1px solid #e1e1e1}a.cal-event-week{text-decoration:none;color:#151515}.badge-important{background-color:#b94a48;color:#fff}.icon-chevron-down{display:inline-block;font:normal normal normal 14px/1 Material Design Icons;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased}.icon-chevron-down:before{content:"\f078"}#cal-day-tick{padding:0 4px;margin-top:-1px;border-top:1px solid transparent}.cal-month-day span[data-cal-date]{position:absolute;z-index:1;color:#000;background-color:#fff;border-radius:3vh;width:3vh;height:3vh;line-height:3vh;top:0;right:0;text-align:center;opacity:.75}.events-list{max-height:100px;padding-left:5px}.events-list::-webkit-scrollbar-track{box-shadow:inset 0 0 6px rgba(0,0,0,.3);-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#f1f1f1}.events-list::-webkit-scrollbar{width:10px;background-color:#f1f1f1}.events-list::-webkit-scrollbar-thumb{background-color:#c1c1c1;border:2px solid #c1c1c1}.event:hover{border-color:#00f;opacity:.5}.cal-day-outmonth span[data-cal-date]{opacity:.2}.cal-month-day.cal-day-outmonth .events-list{opacity:.1}.tooltip-inner{text-align:left!important}.cal-event-list .event.pull-left{margin-top:8px}.event-item span{width:90%;padding:.25rem 1.25rem}.event-item span:hover{background-color:hsla(0,0%,64.7%,.2901960784313726)}#cal-slide-content a.event-item{color:hsla(0,0%,100%,.9215686274509803);font-size:1.2rem}#cal-slide-content ul{position:relative;z-index:1}#cal-slide-box{position:relative;overflow:hidden}#cal-slide-content{background-image:none}#cal-slide-content,#cal-slide-content:hover{background-color:#007984}#cal-slide-content:after,#cal-slide-content:before{content:"";position:absolute;left:50%;min-width:300vw;min-height:300vw;background-color:#00838f;animation-name:rotate;animation-iteration-count:infinite;animation-timing-function:linear}#cal-slide-content:before{bottom:50%;border-radius:45%;animation-duration:30s}#cal-slide-content:after{bottom:45%;opacity:.5;border-radius:47%;animation-duration:30s}@keyframes rotate{0%{transform:translate(-50%) rotate(0deg)}50%{transform:translate(-50%,-2%) rotate(180deg)}to{transform:translate(-50%) rotate(1turn)}}#cal-slide-content a.event-item>span{display:inline-block}.calendar .cal-day-today{background-color:#aff3ac}.calendar .cal-event-list li{margin-top:.2rem}.calendar .cal-month-day:hover{text-decoration:none}.cal-month-day.cal-day-inmonth.cal-day-weekend{background-color:#fff2f2}.calendar .cal-event-list .event,.calendar .events-list .event{color:#000;padding:0;width:3vh;height:3vh;border-radius:1.5vh;font-family:Material Design Icons;font:normal normal normal 2vh Material Design Icons;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none}.calendar .cal-event-list .event:before,.calendar .events-list .event:before{position:absolute}.calendar .cal-event-list .event:hover,.calendar .events-list .event:hover{text-decoration:none}.calendar .cal-event-list .completada:before,.calendar .events-list .completada:before{content:"\F12C";padding:2px!important}.calendar .cal-event-list .fechaProxima:before,.calendar .events-list .fechaProxima:before{content:"\F205";padding:3px 7px 1px!important}.calendar .cal-event-list .warning:before,.calendar .events-list .warning:before{content:"\F205";padding:3px 8px!important}.calendar .cal-event-list .obra,.calendar .events-list .obra{background-color:#ff9600}.calendar .cal-event-list .vertidoPDI,.calendar .events-list .vertidoPDI{background-color:#fff700}.calendar .cal-event-list .vertido,.calendar .events-list .vertido{background-color:#000;color:#fff}.calendar .cal-event-list .vertido.muestreo,.calendar .events-list .vertido.muestreo{-webkit-box-shadow:inset 0 0 0 .5vh #ff3434;box-shadow:inset 0 0 0 .5vh #ff3434}.calendar .cal-event-list .vertido.vigilancia,.calendar .events-list .vertido.vigilancia{-webkit-box-shadow:inset 0 0 0 .5vh #000;box-shadow:inset 0 0 0 .5vh #000}.calendar .cal-event-list .concesion,.calendar .events-list .concesion{background-color:#009fd9}.calendar .cal-event-list .finalizada,.calendar .events-list .finalizada{background-color:#66bb6a;color:#fff}.calendar .cal-event-list .pdteAsignar,.calendar .events-list .pdteAsignar{background-color:#eceeef}.legend{border-radius:20px;width:1.3rem;height:1.3rem;margin-top:.25rem}.bgNegro,.bgNegroyRojo{background:#000!important;color:#fff!important}.bgNegroyRojo{border:4px solid #ff3434!important}.bgVerde{background:green!important}.bgRojo,.bgVerde{border:1px solid #288e28!important;color:#fff!important}.bgRojo{background:red!important}.bgAmarillo{background:#fff700!important;color:#000!important}.bgNaranja{background:#ff9600!important}.bgAzul,.bgNaranja{color:#fff!important}.bgAzul{background:#009fd9!important}.bgCheck{background:#fff;border:4px solid #fff!important}.bgFucsia{background:orchid!important}.bgFucsia,.bgMediumblue{border:1px solid #288e28!important;color:#fff!important}.bgMediumblue{background:#0000cd!important}.rup_list .list-item{border:1px solid transparent;border-radius:0;box-shadow:1px 1px 11px #ddd;margin:1rem 0;padding:.75rem;position:relative;width:auto}.rup_list .list-item:hover{background-color:#a6acb1;cursor:pointer}.rup_list .rup_list-item-selected{background-color:#1472a4;color:#fff}.rup_list .rup_list-item-selected:hover{background-color:#1472a4}.rup_list-sticky{position:fixed;top:0;background-color:#fff;z-index:80;width:calc(100% - 102px)}@media screen and (max-width:768px){.rup_list-sticky{width:calc(100% - 78px)}}.rup_list-header{margin-bottom:.5rem}.rup_list-footer{margin-top:.5rem}.rup_list-footer,.rup_list-header{border:1px solid #bbb;margin-left:0;margin-right:0;padding:.75rem 0}.rup-dropdown-btn-group .rup_list-footer .rup-dropdown-button,.rup-dropdown-btn-group .rup_list-header .rup-dropdown-button,.rup-wizard .rup_list-footer .rup-wizard_submitButton,.rup-wizard .rup_list-footer a.rup-wizard_next,.rup-wizard .rup_list-footer a.rup-wizard_prev,.rup-wizard .rup_list-header .rup-wizard_submitButton,.rup-wizard .rup_list-header a.rup-wizard_next,.rup-wizard .rup_list-header a.rup-wizard_prev,.rup_list-footer .rup-dropdown-btn-group .rup-dropdown-button,.rup_list-footer .rup-wizard .rup-wizard_submitButton,.rup_list-footer .rup-wizard a.rup-wizard_next,.rup_list-footer .rup-wizard a.rup-wizard_prev,.rup_list-footer .ui-button.rup-button,.rup_list-footer a.rup-toolbar_menuButton.ui-button,.rup_list-footer button,.rup_list-header .rup-dropdown-btn-group .rup-dropdown-button,.rup_list-header .rup-wizard .rup-wizard_submitButton,.rup_list-header .rup-wizard a.rup-wizard_next,.rup_list-header .rup-wizard a.rup-wizard_prev,.rup_list-header .ui-button.rup-button,.rup_list-header a.rup-toolbar_menuButton.ui-button,.rup_list-header button{height:100%}.rup_list-footer nav,.rup_list-header nav{float:right}.rup_list-footer nav .page-link,.rup_list-header nav .page-link{cursor:pointer;line-height:3.5rem}.rup_list-footer .rup_list-footer-rowNum+span a,.rup_list-footer .rup_list-footer-sidx+span a,.rup_list-footer .rup_list-header-rowNum+span a,.rup_list-footer .rup_list-header-sidx+span a,.rup_list-header .rup_list-footer-rowNum+span a,.rup_list-header .rup_list-footer-sidx+span a,.rup_list-header .rup_list-header-rowNum+span a,.rup_list-header .rup_list-header-sidx+span a{width:100%!important}.rup_list-overlay{height:100%;left:0;position:absolute;width:100%;z-index:10}.rup_list-overlay .rup_list-overlay-layer{filter:alpha(opacity=0);opacity:1;z-index:11}.rup_list-overlay .rup_list-overlay-loader{animation:spin 2s linear infinite;border-radius:50%;border:7px solid transparent;border-top-color:#69a3d6;display:block;height:15vh;left:50%;margin:-5% 0 0 -8vh;max-height:20rem;max-width:20rem;position:relative;top:50%;width:15vh;z-index:12}.rup_list-overlay .rup_list-overlay-loader:before{animation:spin 3s linear infinite;border-radius:50%;border:7px solid transparent;border-top-color:#337ab7;bottom:5px;content:"";left:5px;position:absolute;right:5px;top:5px}.rup_list-overlay .rup_list-overlay-loader:after{animation:spin 1.5s linear infinite;border-radius:50%;border:7px solid transparent;border-top-color:#204d71;bottom:15px;content:"";left:15px;position:absolute;right:15px;top:15px}.rup_list-mord-dialog{display:flex;flex-direction:column}.rup_list-mord-dialog .rup_list-mord-orderfields{display:flex}.rup_list-mord-dialog .rup_list-mord-orderfields .rup_list-mord-field{background-color:#e9ecef;margin-right:.5rem;padding:0 0 0 8px}.rup_list-mord-dialog .rup_list-mord-orderfields .rup_list-mord-field:hover{background-color:#ced1d4}.rup_list-mord-dialog .rup_list-mord-orderfields .rup_list-mord-field i{background-color:#1472a4;border-radius:0 4px 4px 0;color:#fff;font-size:14px;margin:0 -2px 0 5px;padding:5px 1px}.rup_list-mord-dialog .rup_list-mord-ordersort{display:flex;flex-direction:column}.rup_list-mord-dialog .rup_list-ord-line{display:flex}.rup-dropdown-btn-group .rup_list-mord-dialog .rup_list-ord-line .rup-dropdown-button,.rup-wizard .rup_list-mord-dialog .rup_list-ord-line .rup-wizard_submitButton,.rup-wizard .rup_list-mord-dialog .rup_list-ord-line a.rup-wizard_next,.rup-wizard .rup_list-mord-dialog .rup_list-ord-line a.rup-wizard_prev,.rup_list-mord-dialog .rup_list-ord-line .rup-dropdown-btn-group .rup-dropdown-button,.rup_list-mord-dialog .rup_list-ord-line .rup-wizard .rup-wizard_submitButton,.rup_list-mord-dialog .rup_list-ord-line .rup-wizard a.rup-wizard_next,.rup_list-mord-dialog .rup_list-ord-line .rup-wizard a.rup-wizard_prev,.rup_list-mord-dialog .rup_list-ord-line .ui-button.rup-button,.rup_list-mord-dialog .rup_list-ord-line a.rup-toolbar_menuButton.ui-button,.rup_list-mord-dialog .rup_list-ord-line button{max-width:3rem;padding:.5rem}.asc:before{content:"\F4BC"}.asc:before,.desc:before{display:inline-block;font:normal normal normal 24px/1 Material Design Icons;font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.desc:before{content:"\F4BD"}.ui-widget{font-family:Arial,Helvetica,sans-serif}.ui-widget,.ui-widget .ui-widget{font-size:1em}.rup-dropdown-btn-group .ui-widget .rup-dropdown-button,.rup-wizard .ui-widget .rup-wizard_submitButton,.rup-wizard .ui-widget a.rup-wizard_next,.rup-wizard .ui-widget a.rup-wizard_prev,.ui-widget .rup-dropdown-btn-group .rup-dropdown-button,.ui-widget .rup-wizard .rup-wizard_submitButton,.ui-widget .rup-wizard a.rup-wizard_next,.ui-widget .rup-wizard a.rup-wizard_prev,.ui-widget .ui-button.rup-button,.ui-widget a.rup-toolbar_menuButton.ui-button,.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:700}.ui-widget-header a{color:#333}.ui-button,.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,html .ui-button.ui-state-disabled:active,html .ui-button.ui-state-disabled:hover{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:400;color:#454545}.ui-button,.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button{color:#454545;text-decoration:none}.ui-button:focus,.ui-button:hover,.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{border:1px solid #ccc;background:#ededed;font-weight:400;color:#2b2b2b}.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,a.ui-button:focus,a.ui-button:hover{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px #5e9ed6}.ui-button.ui-state-active:hover,.ui-button:active,.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active{border:1px solid #003eff;background:#007fff;font-weight:400;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error-text,.ui-state-error a,.ui-widget-content .ui-state-error-text,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error-text,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;background-image:none}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon,.ui-widget-header .ui-icon{background-image:url(images/ui-icons_444444_256x240.png)}.ui-button:focus .ui-icon,.ui-button:hover .ui-icon,.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(images/ui-icons_555555_256x240.png)}.ui-button:active .ui-icon,.ui-state-active .ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}.ui-button .ui-state-highlight.ui-icon,.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_777620_256x240.png)}.ui-state-error-text .ui-icon,.ui-state-error .ui-icon{background-image:url(images/ui-icons_cc0000_256x240.png)}.ui-button .ui-icon{background-image:url(images/ui-icons_777777_256x240.png)}.ui-icon-blank.ui-icon-blank.ui-icon-blank{background-image:none}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-first,.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:3px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3}.ui-widget-shadow{box-shadow:0 0 5px #666}.bubble,.navbar-nav>.nav-item>.dropdown-menu,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu{margin-top:10px;background:#fff;border:1px solid #ccc}.bubble:after,.bubble:before,.navbar-nav>.nav-item>.dropdown-menu:after,.navbar-nav>.nav-item>.dropdown-menu:before,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu:after,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu:before{border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.bubble-top{margin-top:10px}.bubble-top:after,.bubble-top:before{bottom:100%;left:50%}.bubble-top-left:after,.bubble-top-left:before,.navbar-nav>.nav-item>.dropdown-menu:after,.navbar-nav>.nav-item>.dropdown-menu:before,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu:after,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu:before{bottom:100%;left:20%}.bubble-top-right:after,.bubble-top-right:before{bottom:100%;left:75%}.bubble-bottom{margin-top:10px}.bubble-bottom:after,.bubble-top:before{bottom:100%;left:50%}.bubble:after,.navbar-nav>.nav-item>.dropdown-menu:after,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu:after{border-color:transparent transparent #fff;border-width:10px;margin-left:-10px}.bubble:before,.navbar-nav>.nav-item>.dropdown-menu:before,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu:before{border-color:transparent transparent #ccc;border-width:11px;margin-left:-11px}.rup-callout,.rup-upload{padding:1.25rem;margin-top:1.25rem;margin-bottom:1.25rem;border:1px solid #eee;border-left-width:.25rem;border-radius:0}.rup-callout h4,.rup-upload h4{margin-top:0;margin-bottom:.25rem}.rup-callout p:last-child,.rup-upload p:last-child{margin-bottom:0}.rup-callout code,.rup-upload code{border-radius:.25rem}.rup-callout+.rup-callout,.rup-callout+.rup-upload,.rup-upload+.rup-callout,.rup-upload+.rup-upload{margin-top:-.25rem}.rup-callout-info{border-left-color:#5bc0de}.rup-callout-info h4{color:#5bc0de}.rup-callout-warning{border-left-color:#f0ad4e}.rup-callout-warning h4{color:#f0ad4e}.rup-callout-danger{border-left-color:#d9534f}.rup-callout-danger h4{color:#d9534f}.rup-callout-primary,.rup-upload{border-left-color:#6fa4ff}.color-primary-0{color:#6fa4ff}.color-primary-1{color:#fbfcff}.color-primary-2{color:#69a3d6}.color-primary-3{color:#337ab7}.color-primary-4{color:#204d71}.color-secondary-1-0{color:#8d73ff}.color-secondary-1-1{color:#fcfbff}.color-secondary-1-2{color:#b8a9fe}.color-secondary-1-3{color:#6441ff}.color-secondary-1-4{color:#3c10ff}.color-secondary-2-0{color:#ffe060}.color-secondary-2-1{color:#fffefa}.color-secondary-2-2{color:#ffec9d}.color-secondary-2-3{color:#ffd527}.color-secondary-2-4{color:#ffce00}.color-complement-0{color:#ffc660}.color-complement-1{color:#fffdfa}.color-complement-2{color:#ffdc9d}.color-complement-3{color:#ffb227}.color-complement-4{color:#ffa400}.card.card-1,.shadow-1{-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.card.card-2,.navbar-nav>.nav-item>.dropdown-menu,.rup-feedback,.rup-navbar,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu,.shadow-2,.ui-button.rup-button.rup-button-fab,.ui-datepicker:not(.ui-datepicker-inline){-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.card.card-3,.shadow-3,.ui-button.rup-button.rup-button-fab:hover{-moz-box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);-webkit-box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.card.card-4,.shadow-4{-moz-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);-webkit-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.card.card-5,.shadow-5{-moz-box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22);-webkit-box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22);box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.card.card-hover:hover,.shadow-hover{transition:all .3s cubic-bezier(.25,.8,.25,1);-moz-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);-webkit-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}html{font-size:12px}.ui-widget,body,html{font-family:Roboto,sans-serif}h1{font-size:2.14rem}h1,h2{font-weight:700}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.3rem}h5{font-size:1rem}h6{font-size:.85rem}label{font-size:1rem}.ui-state-hover,.ui-widget-content .ui-state-hover{background:#b9d4ec}.ui-widget-overlay{opacity:.7;background-color:#050505}.input-group-btn>.ui-button.rup-button,.input-group-btn>a.rup-toolbar_menuButton.ui-button,.input-group-btn>button,.rup-dropdown-btn-group .input-group-btn>.rup-dropdown-button,.rup-wizard .input-group-btn>.rup-wizard_submitButton,.rup-wizard .input-group-btn>a.rup-wizard_next,.rup-wizard .input-group-btn>a.rup-wizard_prev{height:2rem;padding:0 5px}.rup-dropdown-btn-group .rup-dropdown-button,.rup-wizard .rup-wizard_submitButton,.rup-wizard a.rup-wizard_next,.rup-wizard a.rup-wizard_prev,.ui-button.rup-button,a.rup-toolbar_menuButton.ui-button,button,button.ui-button,input[type=button],input[type=submit]{box-shadow:none}body{font-size:1.1rem}.label,label,label.label{font-size:1rem;color:#333;display:inline-block;font-weight:700;margin-bottom:5px;max-width:100%}input,textarea{background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;color:#555;font-size:1rem;line-height:1.42857;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{width:auto;margin-bottom:0;border:none;padding:0 .4rem}legend,select{font-size:1rem}select{height:2rem;padding:0;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-moz-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}p,ul{margin-bottom:1rem}.btn,.rup-dropdown-btn-group .rup-dropdown-button,.rup-wizard .rup-wizard_submitButton,.rup-wizard a.rup-wizard_next,.rup-wizard a.rup-wizard_prev,.ui-button.rup-button,a.rup-toolbar_menuButton.ui-button,button,button.ui-button,input[type=button],input[type=submit]{font-size:1.1rem;padding:6px 12px;border-radius:4px;line-height:1.42857;font-weight:400;margin-bottom:0}.rup-dropdown-btn-group .rup-dropdown-button,.rup-wizard .rup-wizard_submitButton,.rup-wizard a.rup-wizard_next,.rup-wizard a.rup-wizard_prev,.ui-button.rup-button,a.rup-toolbar_menuButton.ui-button,button,button.ui-button,input[type=button],input[type=submit]{-moz-user-select:none;background-image:none;border:1px solid #ccc;border-radius:4px;cursor:pointer;display:inline-block;text-align:center;vertical-align:middle;white-space:nowrap;text-shadow:none}.input-lg{font-size:1.25rem;height:2.5rem}.dropdown-menu{font-size:1rem}.card{background:#fff;border-radius:2px;margin:1rem;position:relative}.ui-accordion .ui-accordion-header .ui-icon{background-image:none}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{display:inline-block;overflow:visible;text-indent:0;padding-right:.5rem}.ui-accordion .ui-accordion-header.ui-accordion-header-active{border:1px solid #337ab7;color:#fffcfb;background:#337ab7}.rup-breadCrumb_root{-moz-box-shadow:inset 0 -3px 6px rgba(0,0,0,.16),0 -3px 6px rgba(0,0,0,.23);-webkit-box-shadow:inset 0 -3px 6px rgba(0,0,0,.16),0 -3px 6px rgba(0,0,0,.23);box-shadow:inset 0 -3px 6px rgba(0,0,0,.16),0 -3px 6px rgba(0,0,0,.23);background:#d3d3d3;padding:.8rem 2rem;width:100%}.rup-breadCrumb_root .rup-breadCrumb_main>li{padding:0}.rup-breadCrumb_root .rup-breadCrumb_main>li span.rup-icon{padding:0;top:.4rem}.rup-breadCrumb_root .rup-breadCrumb_main>li a{padding:0 0 1rem}.rup-breadCrumb_root .rup-breadCrumb_main>li ul{margin-top:.3rem;max-height:25rem;overflow-y:auto}.rup-breadCrumb_logoutDiv:hover{color:#666}.rup-breadCrumb_logoutDiv .rup-breadCrumb_logoutImg{float:left;width:1.5rem;margin:0;text-indent:0;font:normal normal normal 14px/1 FontAwesome;font-size:large;text-rendering:auto;background-image:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rup-breadCrumb_logoutDiv .rup-breadCrumb_logoutImg:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;content:"\f023"}.rup-breadCrumb_logoutDiv .rup-breadCrumb_logoutImg_active{float:left;width:1.5rem;margin:0;text-indent:0;font:normal normal normal 14px/1 FontAwesome;font-size:large;text-rendering:auto;background-image:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rup-breadCrumb_logoutDiv .rup-breadCrumb_logoutImg_active:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;content:"\f09c"}.rup-feedback.rup-feedback_image.rup-feedback_image_alert span.rup-feedback-icon,.rup-feedback.rup-feedback_image.rup-feedback_image_error span.rup-feedback-icon,.rup-feedback.rup-feedback_image.rup-feedback_image_ok span.rup-feedback-icon,.rup-feedback.rup-feedback_image div.rup-feedback_closeLink{height:auto;margin:0 1rem 0 0;float:left;font-size:1.5rem;font-family:FontAwesome}.rup-feedback{margin:.8rem 0 2rem}.rup-feedback.rup-feedback_image{background-image:none;padding:1em .5em 1em 1.5em}.rup-feedback.rup-feedback_image.rup-feedback_image_ok{background-color:#c7e6c7}.rup-feedback.rup-feedback_image.rup-feedback_image_ok span.rup-feedback-icon{color:#2d672d}.rup-feedback.rup-feedback_image.rup-feedback_image_alert{background-color:#fae3c4}.rup-feedback.rup-feedback_image.rup-feedback_image_alert span.rup-feedback-icon{color:#b06d0f}.rup-feedback.rup-feedback_image.rup-feedback_image_error{background-color:#f0b9b8}.rup-feedback.rup-feedback_image.rup-feedback_image_error span.rup-feedback-icon{color:#8b211e}.rup-feedback.rup-feedback_image div.rup-feedback_closeLink{text-decoration:none;float:right;padding-right:2rem;padding-top:.5rem;margin:0;color:#818a91}.rup-feedback.rup-feedback_image div.rup-feedback_closeLink:before{float:right;visibility:visible}.rup-feedback.rup-feedback_image div.rup-feedback_closeLink:hover:before{color:#373a3c}.rup-feedback.rup-feedback_image div:last-child{padding-top:.2rem}.ui-button.rup-button.rup-dropdown{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.ui-button.rup-button.rup-button-fab{border-radius:50%;min-width:5rem;width:5rem;height:5rem}.ui-button.rup-button.rup-button-fab.rup-button-fab-sm{min-width:4rem;width:4rem;height:4rem}.ui-button.rup-button.rup-button-fab.rup-button-fab-lg{min-width:7rem;width:7rem;height:7rem}.ui-button.rup-button.rup-button-fab:focus{outline:none}.rup-mbutton,.ui-button.rup-button span.ui-button-icon.ui-icon{display:inline-block}.rup-mbutton .rup-mbutton-container{display:none;position:absolute;list-style:outside none none;z-index:9000;background-color:#fff;border:1px solid #ccc;margin:0;padding:.4rem}.rup-mbutton .rup-mbutton-container.rup-mbutton-open{display:block}.rup-dropdown-btn-group .rup-mbutton .rup-mbutton-container .rup-dropdown-button,.rup-mbutton .rup-mbutton-container .rup-dropdown-btn-group .rup-dropdown-button,.rup-mbutton .rup-mbutton-container .rup-wizard .rup-wizard_submitButton,.rup-mbutton .rup-mbutton-container .rup-wizard a.rup-wizard_next,.rup-mbutton .rup-mbutton-container .rup-wizard a.rup-wizard_prev,.rup-mbutton .rup-mbutton-container .ui-button.rup-button,.rup-mbutton .rup-mbutton-container a.rup-toolbar_menuButton.ui-button,.rup-mbutton .rup-mbutton-container button,.rup-wizard .rup-mbutton .rup-mbutton-container .rup-wizard_submitButton,.rup-wizard .rup-mbutton .rup-mbutton-container a.rup-wizard_next,.rup-wizard .rup-mbutton .rup-mbutton-container a.rup-wizard_prev{width:100%;text-align:left}@media (min-width:576px){.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-sm>.rup-dropdown-button,.rup-mbutton.rup-collapsed-sm>.ui-button.rup-button,.rup-mbutton.rup-collapsed-sm>a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-sm>button,.rup-wizard .rup-mbutton.rup-collapsed-sm>.rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-sm>a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-sm>a.rup-wizard_prev{display:none}.rup-mbutton.rup-collapsed-sm .rup-mbutton-container{display:inline!important;position:static;padding:0;border:none;background-color:transparent}.rup-mbutton.rup-collapsed-sm .rup-mbutton-container li{display:inline-block;vertical-align:middle}.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-sm .rup-mbutton-container .rup-dropdown-button,.rup-mbutton.rup-collapsed-sm .rup-mbutton-container .rup-dropdown-btn-group .rup-dropdown-button,.rup-mbutton.rup-collapsed-sm .rup-mbutton-container .rup-wizard .rup-wizard_submitButton,.rup-mbutton.rup-collapsed-sm .rup-mbutton-container .rup-wizard a.rup-wizard_next,.rup-mbutton.rup-collapsed-sm .rup-mbutton-container .rup-wizard a.rup-wizard_prev,.rup-mbutton.rup-collapsed-sm .rup-mbutton-container .ui-button.rup-button,.rup-mbutton.rup-collapsed-sm .rup-mbutton-container a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-sm .rup-mbutton-container button,.rup-wizard .rup-mbutton.rup-collapsed-sm .rup-mbutton-container .rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-sm .rup-mbutton-container a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-sm .rup-mbutton-container a.rup-wizard_prev{display:block;width:inherit}}@media (min-width:768px){.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-md>.rup-dropdown-button,.rup-mbutton.rup-collapsed-md>.ui-button.rup-button,.rup-mbutton.rup-collapsed-md>a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-md>button,.rup-wizard .rup-mbutton.rup-collapsed-md>.rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-md>a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-md>a.rup-wizard_prev{display:none}.rup-mbutton.rup-collapsed-md .rup-mbutton-container{display:inline!important;position:static;padding:0;border:none;background-color:transparent}.rup-mbutton.rup-collapsed-md .rup-mbutton-container li{display:inline-block;vertical-align:middle}.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-md .rup-mbutton-container .rup-dropdown-button,.rup-mbutton.rup-collapsed-md .rup-mbutton-container .rup-dropdown-btn-group .rup-dropdown-button,.rup-mbutton.rup-collapsed-md .rup-mbutton-container .rup-wizard .rup-wizard_submitButton,.rup-mbutton.rup-collapsed-md .rup-mbutton-container .rup-wizard a.rup-wizard_next,.rup-mbutton.rup-collapsed-md .rup-mbutton-container .rup-wizard a.rup-wizard_prev,.rup-mbutton.rup-collapsed-md .rup-mbutton-container .ui-button.rup-button,.rup-mbutton.rup-collapsed-md .rup-mbutton-container a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-md .rup-mbutton-container button,.rup-wizard .rup-mbutton.rup-collapsed-md .rup-mbutton-container .rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-md .rup-mbutton-container a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-md .rup-mbutton-container a.rup-wizard_prev{display:block;width:inherit}}@media (min-width:992px){.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-lg>.rup-dropdown-button,.rup-mbutton.rup-collapsed-lg>.ui-button.rup-button,.rup-mbutton.rup-collapsed-lg>a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-lg>button,.rup-wizard .rup-mbutton.rup-collapsed-lg>.rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-lg>a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-lg>a.rup-wizard_prev{display:none}.rup-mbutton.rup-collapsed-lg .rup-mbutton-container{display:inline!important;position:static;padding:0;border:none;background-color:transparent}.rup-mbutton.rup-collapsed-lg .rup-mbutton-container li{display:inline-block;vertical-align:middle}.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-lg .rup-mbutton-container .rup-dropdown-button,.rup-mbutton.rup-collapsed-lg .rup-mbutton-container .rup-dropdown-btn-group .rup-dropdown-button,.rup-mbutton.rup-collapsed-lg .rup-mbutton-container .rup-wizard .rup-wizard_submitButton,.rup-mbutton.rup-collapsed-lg .rup-mbutton-container .rup-wizard a.rup-wizard_next,.rup-mbutton.rup-collapsed-lg .rup-mbutton-container .rup-wizard a.rup-wizard_prev,.rup-mbutton.rup-collapsed-lg .rup-mbutton-container .ui-button.rup-button,.rup-mbutton.rup-collapsed-lg .rup-mbutton-container a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-lg .rup-mbutton-container button,.rup-wizard .rup-mbutton.rup-collapsed-lg .rup-mbutton-container .rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-lg .rup-mbutton-container a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-lg .rup-mbutton-container a.rup-wizard_prev{display:block;width:inherit}}@media (min-width:1200px){.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-xl>.rup-dropdown-button,.rup-mbutton.rup-collapsed-xl>.ui-button.rup-button,.rup-mbutton.rup-collapsed-xl>a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-xl>button,.rup-wizard .rup-mbutton.rup-collapsed-xl>.rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-xl>a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-xl>a.rup-wizard_prev{display:none}.rup-mbutton.rup-collapsed-xl .rup-mbutton-container{display:inline!important;position:static;padding:0;border:none;background-color:transparent}.rup-mbutton.rup-collapsed-xl .rup-mbutton-container li{display:inline-block;vertical-align:middle}.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-xl .rup-mbutton-container .rup-dropdown-button,.rup-mbutton.rup-collapsed-xl .rup-mbutton-container .rup-dropdown-btn-group .rup-dropdown-button,.rup-mbutton.rup-collapsed-xl .rup-mbutton-container .rup-wizard .rup-wizard_submitButton,.rup-mbutton.rup-collapsed-xl .rup-mbutton-container .rup-wizard a.rup-wizard_next,.rup-mbutton.rup-collapsed-xl .rup-mbutton-container .rup-wizard a.rup-wizard_prev,.rup-mbutton.rup-collapsed-xl .rup-mbutton-container .ui-button.rup-button,.rup-mbutton.rup-collapsed-xl .rup-mbutton-container a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-xl .rup-mbutton-container button,.rup-wizard .rup-mbutton.rup-collapsed-xl .rup-mbutton-container .rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-xl .rup-mbutton-container a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-xl .rup-mbutton-container a.rup-wizard_prev{display:block;width:inherit}}.rup-dropdown-btn-group .rup-dropdown-button{border-top-left-radius:0;border-bottom-left-radius:0;padding-left:.5rem}.rup-dropdown-btn-group .rup-dropdown-button.ui-button-icon-only>span.ui-button-icon{margin-top:-8px}.rup-button-fab-group{display:block;position:fixed;bottom:45px;right:24px;z-index:9999}.rup-button-fab-group .rup-button-fixed>i{font-size:1.5rem;-webkit-animation:fabRotateLeft .3s linear}.rup-button-fab-group:hover .rup-button-fixed>i{-webkit-animation:fabRotateRight .3s linear}.rup-button-fab-group:hover .rup-button-fab-list{max-height:20rem;opacity:1}.rup-button-fab-group:hover .rup-button-fab-list .rup-button-fab{-webkit-animation:fabListGrow .3s linear}.rup-button-fab-group .rup-button-fab-list{order:1;padding:0;max-height:0;opacity:0;text-align:center;overflow:hidden;-webkit-transition:all .8s ease;-moz-transition:all .8s ease;-o-transition:all .8s ease;-ms-transition:all .8s ease;transition:all .8s ease}.rup-button-fab-group .rup-button-fab-list .rup-button-fab{-webkit-animation:fabListBelittle .8s linear;margin:.5rem 0}@-webkit-keyframes fabRotateRight{0%{-webkit-transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg)}to{-webkit-transform:rotate(1turn)}}@-webkit-keyframes fabRotateLeft{0%{-webkit-transform:rotate(0deg)}50%{-webkit-transform:rotate(-180deg)}to{-webkit-transform:rotate(-1turn)}}@-webkit-keyframes fabListGrow{0%{-webkit-transform:scale(0)}50%{-webkit-transform:scale(.8)}to{-webkit-transform:scale(1)}}@-webkit-keyframes fabListBelittle{0%{-webkit-transform:scale(1)}50%{-webkit-transform:scale(.2)}to{-webkit-transform:scale(0)}}.select2-container{min-width:180px}.select2-results__option{padding-right:20px;vertical-align:middle}.select2-results__option:before{content:"";display:inline-block;position:relative;height:20px;width:20px;border:2px solid #e9e9e9;border-radius:4px;background-color:#fff;margin-right:20px;vertical-align:middle}.select2-results__option[role=group]:before{display:none}.select2-results__option[aria-selected=true]:before{font-family:fontAwesome;content:"\f00c";background-color:#00f;padding-left:3px}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#fff}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#eaeaeb;color:#272727}.select2-container--default .select2-selection--multiple{margin-bottom:10px}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-radius:4px}.select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#f77750;border-width:2px}.select2-container--default .select2-selection--multiple{border-width:2px}.select2-container--open .select2-dropdown--below{box-shadow:0 0 10px rgba(0,0,0,.5)}.select2-selection .select2-selection--multiple:after{content:"hhghgh"}.select-icon .placeholder,.select-icon .select2-selection__placeholder .badge{display:none}.select-icon .select2-results__option:before,.select-icon .select2-results__option[aria-selected=true]:before{display:none!important}.select-icon .select2-search--dropdown{display:none}.context-menu-list{font-family:Roboto,sans-serif;border-color:#ccc;font-size:1.1rem;padding:4px}.context-menu-item,.context-menu-list{background-color:#fff}.context-menu-item.context-menu-disabled,.context-menu-item.context-menu-disabled *{color:#818a91}div.formEdit_dialog_loading_container div{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100;animation:fadeIn-overlay .75s ease-out forwards}div.formEdit_dialog_loading_container span{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10rem;z-index:101;animation:fadeIn-spinner 1.25s ease-out forwards}@keyframes fadeIn-overlay{0%{opacity:0}to{opacity:.3;background-color:#050505}}@keyframes fadeIn-spinner{0%{opacity:0}to{opacity:1;color:#333}}.rup-date-input-group{display:inline-table;vertical-align:middle}.rup-date-input-group .hasDatepicker{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;display:table-cell;width:auto}.rup-date-input-group .ui-datepicker-trigger{padding-bottom:.38rem;padding-left:.5rem;padding-right:.5rem;border-top-left-radius:0;border-bottom-left-radius:0;display:table-cell}.rup-date-input-group .ui-datepicker-trigger *{display:table-cell}.ui-datepicker{background:#fff}.ui-datepicker .ui-datepicker-header{background:#fff;border:none}.ui-datepicker head{border-bottom:.1em solid #000}.ui-datepicker head th{padding-bottom:0}.ui-datepicker td{padding:unset}.ui-datepicker .ui-datepicker-calendar td{background:none}.ui-datepicker .ui-datepicker-calendar td a{text-align:center;border:.1em solid #fff;background-color:#fff;color:#000}.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-unselectable{opacity:.5}.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-unselectable span{border:none;text-align:center;background-color:#fff}.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today a{background-color:#337ab7;border:.1em solid #337ab7;color:#fff}.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-week-end a{background-color:#f0b9b8;border:.1em solid #f0b9b8;color:#000}.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day a,.ui-datepicker .ui-datepicker-calendar td.ui-state-highlight a{background-color:#b4fdcc;border:.1em solid #175c2e;color:#000}.ui-datepicker .ui-datepicker-calendar td:hover a{background:#69a3d6;border:.1em solid #69a3d6;color:#fff}.ui-dialog{padding:0;color:#333;border-radius:0}.ui-dialog .ui-dialog-titlebar{border:none;border-radius:0;color:#333}.ui-dialog .ui-dialog-titlebar.ui-widget-header{padding:1rem;background-color:#fff;color:#333;border-bottom:1px solid #eceeef}.ui-dialog .ui-dialog-titlebar.ui-widget-header .ui-dialog-title{margin-top:0;margin-bottom:0}.ui-dialog .ui-dialog-titlebar.ui-widget-header span.ui-dialog-title{font-size:1.1rem}.ui-dialog .ui-dialog-titlebar.ui-widget-header a.ui-dialog-title[role=button]{display:none}.ui-dialog .ui-dialog-titlebar.ui-widget-header .ui-dialog-titlebar-close{margin-right:2rem;background-color:transparent;border-color:transparent;opacity:1;color:#818a91;text-shadow:none}.ui-dialog .ui-dialog-titlebar.ui-widget-header .ui-dialog-titlebar-close:hover{color:#373a3c}.ui-dialog .ui-dialog-titlebar.ui-widget-header .ui-dialog-titlebar-close span{display:inline-block;background-image:none;overflow:visible;text-indent:0;margin:0;padding-right:.5rem}.ui-dialog .ui-dialog-titlebar.ui-widget-header .ui-dialog-titlebar-close span.ui-icon-closethick{font-size:1.2rem;top:0}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{display:inline-block}.rup-dropdown-btn-group .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.rup-dropdown-button,.rup-wizard .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.rup-wizard_submitButton,.rup-wizard .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.ui-button.rup-wizard_next,.rup-wizard .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.ui-button.rup-wizard_prev,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-dropdown-btn-group .ui-button.rup-dropdown-button,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-wizard .ui-button.rup-wizard_submitButton,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-wizard a.ui-button.rup-wizard_next,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-wizard a.ui-button.rup-wizard_prev,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.rup-button,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.ui-button.rup-toolbar_menuButton,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.ui-button{background-image:none;font-family:Roboto,sans-serif;text-shadow:none;border-color:#adadad}.rup-dropdown-btn-group .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.rup-dropdown-button:hover,.rup-wizard .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.rup-wizard_submitButton:hover,.rup-wizard .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.ui-button.rup-wizard_next:hover,.rup-wizard .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.ui-button.rup-wizard_prev:hover,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-dropdown-btn-group .ui-button.rup-dropdown-button:hover,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-wizard .ui-button.rup-wizard_submitButton:hover,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-wizard a.ui-button.rup-wizard_next:hover,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-wizard a.ui-button.rup-wizard_prev:hover,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.rup-button:hover,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.ui-button.rup-toolbar_menuButton:hover,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.ui-button:hover{background-color:#e6e6e6;border-color:#adadad;color:#333}.rup-message .rup-message_icon-alert,.rup-message .rup-message_icon-confirm,.rup-message .rup-message_icon-error,.rup-message .rup-message_icon-ok{background-image:none;height:auto;padding-top:.4em;margin-left:.4em;margin-right:0;font-size:1.5rem}.rup-message .ui-dialog-titlebar{background:#fff}.rup-message .ui-dialog-titlebar .ui-dialog-title{color:#333}.rup-message.rup-message-error .ui-dialog-titlebar{background:#f0b9b8}.rup-message.rup-message-error .ui-dialog-titlebar .ui-dialog-title{color:#8b211e}.rup-message.rup-message-ok .ui-dialog-titlebar{background:#c7e6c7}.rup-message.rup-message-ok .ui-dialog-titlebar .ui-dialog-title{color:#2d672d}.rup-message.rup-message-alert .ui-dialog-titlebar{background:#fae3c4}.rup-message.rup-message-alert .ui-dialog-titlebar .ui-dialog-title{color:#b06d0f}.rup-message.rup-message-confirm .ui-dialog-titlebar{background:#c5e9f3}.rup-message.rup-message-confirm .ui-dialog-titlebar .ui-dialog-title{color:#1f7e9a}.rup-message .rup-message_icon-ok{color:#2d672d}.rup-message .rup-message_icon-alert{color:#b06d0f}.rup-message .rup-message_icon-error{color:#8b211e}.rup-message .rup-message_icon-confirm{color:#1f7e9a}@media (max-width:768px){.ui-dialog{width:95%!important;left:1.25%!important;margin:5% 1.25%!important}.rup-message .rup-message_icon-alert,.rup-message .rup-message_icon-confirm,.rup-message .rup-message_icon-error,.rup-message .rup-message_icon-ok{background-image:none;height:auto;padding-top:.4em;margin-left:0;margin-right:1rem;font-size:1.5rem;width:auto;display:table-cell}.rup-message_msg-alert,.rup-message_msg-confirm,.rup-message_msg-error,.rup-message_msg-ok{padding-top:.4em;text-align:left;vertical-align:middle;width:auto;float:none;margin:0;display:table-cell}}.rup-dropdown-btn-group .rup-dropdown-button,.rup-wizard .rup-wizard_submitButton,.rup-wizard a.rup-wizard_next,.rup-wizard a.rup-wizard_prev,.ui-button.rup-button,a.rup-toolbar_menuButton.ui-button,button,button.ui-button,input[type=button],input[type=submit]{background-color:#fff;border-color:#ccc;color:#333}.rup-dropdown-btn-group .rup-dropdown-button:hover,.rup-tabs_container.ui-tabs ul.ui-tabs-nav li.ui-tabs-tab a:hover,.rup-wizard .rup-wizard_submitButton:hover,.rup-wizard a.rup-wizard_next:hover,.rup-wizard a.rup-wizard_prev:hover,.ui-button.rup-button:hover,a.rup-toolbar_menuButton.ui-button:hover,button:hover,input[type=button]:hover,input[type=submit]:hover{background-color:#f2f2f2;border-color:#999;color:#333}.rup-navbar .invisible{visibility:hidden!important}.rup-navbar .hidden-xs-up{display:none!important}@media (max-width:575px){.rup-navbar .hidden-xs-down{display:none!important}}@media (min-width:576px){.rup-navbar .hidden-sm-up{display:none!important}}@media (max-width:767px){.rup-navbar .hidden-sm-down{display:none!important}}@media (min-width:768px){.rup-navbar .hidden-md-up{display:none!important}}@media (max-width:991px){.rup-navbar .hidden-md-down{display:none!important}}@media (min-width:992px){.rup-navbar .hidden-lg-up{display:none!important}}@media (max-width:1199px){.rup-navbar .hidden-lg-down{display:none!important}}@media (min-width:1200px){.rup-navbar .hidden-xl-up{display:none!important}}.rup-navbar .hidden-xl-down,.rup-navbar .visible-print-block{display:none!important}@media print{.rup-navbar .visible-print-block{display:block!important}}.rup-navbar .visible-print-inline{display:none!important}@media print{.rup-navbar .visible-print-inline{display:inline!important}}.rup-navbar .visible-print-inline-block{display:none!important}@media print{.rup-navbar .visible-print-inline-block{display:inline-block!important}}@media print{.rup-navbar .hidden-print{display:none!important}}.rup-navbar .dropdown,.rup-navbar .dropup{position:relative}.rup-navbar .dropdown-toggle:after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid!important;border-right:.3em solid transparent!important;border-left:.3em solid transparent!important}.rup-navbar .dropdown-toggle:focus{outline:0}.rup-navbar .dropup .dropdown-toggle:after{border-top:0;border-bottom:.3em solid}.rup-navbar .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#f2f2f2;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:0;-moz-box-shadow:0 .5rem 1rem rgba(0,0,0,.175);-webkit-box-shadow:0 .5rem 1rem rgba(0,0,0,.175);box-shadow:0 .5rem 1rem rgba(0,0,0,.175)}.rup-navbar .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e5e5e5}.rup-navbar .dropdown-item{display:block;width:100%;padding:3px 1.5rem;clear:both;font-weight:400;color:#373a3c;text-align:inherit;white-space:nowrap;background:none;border:0}.rup-navbar .dropdown-item:focus,.rup-navbar .dropdown-item:hover{color:#2b2d2f;text-decoration:none;background-color:#f5f5f5}.rup-navbar .dropdown-item.active,.rup-navbar .dropdown-item.active:focus,.rup-navbar .dropdown-item.active:hover{color:#fff;text-decoration:none;background-color:#0275d8;outline:0}.rup-navbar .dropdown-item.disabled,.rup-navbar .dropdown-item.disabled:focus,.rup-navbar .dropdown-item.disabled:hover{color:#818a91}.rup-navbar .dropdown-item.disabled:focus,.rup-navbar .dropdown-item.disabled:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none}.rup-navbar .open>.dropdown-menu{display:block}.rup-navbar .open>a{outline:0}.rup-navbar .dropdown-menu-right{right:0;left:auto}.rup-navbar .dropdown-menu-left{right:auto;left:0}.rup-navbar .dropdown-menu-arrow-center:after,.rup-navbar .dropdown-menu-arrow-center:before{left:50%!important}.rup-navbar .dropdown-menu-arrow-right:after,.rup-navbar .dropdown-menu-arrow-right:before{right:10%;left:auto!important}.rup-navbar .dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#818a91;white-space:nowrap}.rup-navbar .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.rup-navbar .dropup .caret,.rup-navbar .navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:.3em solid}.rup-navbar .dropup .dropdown-menu,.rup-navbar .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:.125rem}.rup-navbar .nav{padding-left:0;margin-bottom:0;list-style:none}.rup-navbar .nav-link{display:inline-block}.rup-navbar .nav-link:focus,.rup-navbar .nav-link:hover{text-decoration:none}.rup-navbar .nav-link.disabled{color:#818a91}.rup-navbar .nav-link.disabled,.rup-navbar .nav-link.disabled:focus,.rup-navbar .nav-link.disabled:hover{color:#818a91;cursor:not-allowed;background-color:transparent}.rup-navbar .nav-inline .nav-item{display:inline-block}.rup-navbar .nav-inline .nav-item+.nav-item,.rup-navbar .nav-inline .nav-link+.nav-link{margin-left:1rem}.rup-navbar .nav-tabs{border-bottom:1px solid #ddd}.rup-navbar .nav-tabs:after{content:"";display:table;clear:both}.rup-navbar .nav-tabs .nav-item{float:left;margin-bottom:-1px}.rup-navbar .nav-tabs .nav-item+.nav-item{margin-left:.2rem}.rup-navbar .nav-tabs .nav-link{display:block;padding:.5em 1em;border:1px solid transparent;border-top-right-radius:4px;border-top-left-radius:4px}.rup-navbar .nav-tabs .nav-link:focus,.rup-navbar .nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.rup-navbar .nav-tabs .nav-link.disabled,.rup-navbar .nav-tabs .nav-link.disabled:focus,.rup-navbar .nav-tabs .nav-link.disabled:hover{color:#818a91;background-color:transparent;border-color:transparent}.rup-navbar .nav-tabs .nav-item.open .nav-link,.rup-navbar .nav-tabs .nav-item.open .nav-link:focus,.rup-navbar .nav-tabs .nav-item.open .nav-link:hover,.rup-navbar .nav-tabs .nav-link.active,.rup-navbar .nav-tabs .nav-link.active:focus,.rup-navbar .nav-tabs .nav-link.active:hover{color:#55595c;background-color:#fff;border-color:#ddd #ddd transparent}.rup-navbar .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.rup-navbar .nav-pills:after{content:"";display:table;clear:both}.rup-navbar .nav-pills .nav-item{float:left}.rup-navbar .nav-pills .nav-item+.nav-item{margin-left:.2rem}.rup-navbar .nav-pills .nav-link{display:block;padding:.5em 1em;border-radius:0}.rup-navbar .nav-pills .nav-item.open .nav-link,.rup-navbar .nav-pills .nav-item.open .nav-link:focus,.rup-navbar .nav-pills .nav-item.open .nav-link:hover,.rup-navbar .nav-pills .nav-link.active,.rup-navbar .nav-pills .nav-link.active:focus,.rup-navbar .nav-pills .nav-link.active:hover{color:#fff;cursor:default;background-color:#0275d8}.rup-navbar .nav-stacked .nav-item{display:block;float:none}.rup-navbar .nav-stacked .nav-item+.nav-item{margin-top:.2rem;margin-left:0}.rup-navbar .tab-content>.tab-pane{display:none}.rup-navbar .tab-content>.active{display:block}.rup-navbar .navbar{position:relative;padding:.5rem 1rem}.rup-navbar .navbar:after{content:"";display:table;clear:both}@media (min-width:576px){.rup-navbar .navbar{border-radius:0}}.rup-navbar .navbar-full{z-index:1000}@media (min-width:576px){.rup-navbar .navbar-full{border-radius:0}}.rup-navbar .navbar-fixed-bottom,.rup-navbar .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:576px){.rup-navbar .navbar-fixed-bottom,.rup-navbar .navbar-fixed-top{border-radius:0}}.rup-navbar .navbar-fixed-top{top:0}.rup-navbar .navbar-fixed-bottom{bottom:0}.rup-navbar .navbar-sticky-top{position:sticky;top:0;z-index:1030;width:100%}@media (min-width:576px){.rup-navbar .navbar-sticky-top{border-radius:0}}.rup-navbar .navbar-brand{float:left;text-decoration:underline;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit}.rup-navbar .navbar-brand:focus,.rup-navbar .navbar-brand:hover{text-decoration:none}.rup-navbar .navbar-divider{float:left;width:1px;padding-top:.425rem;padding-bottom:.425rem;margin-right:1rem;margin-left:1rem;overflow:hidden}.rup-navbar .navbar-divider:before{content:"\00a0"}.rup-navbar .navbar-text{display:inline-block;padding-top:.425rem;padding-bottom:.425rem}.rup-navbar .navbar-toggler{width:2.5em;height:2em;padding:.5rem .75rem;font-size:1.25rem;line-height:1;background:transparent no-repeat 50%;background-size:24px 24px;border:1px solid transparent}.rup-navbar .navbar-toggler:focus,.rup-navbar .navbar-toggler:hover{text-decoration:none}@media (max-width:575px){.rup-navbar .navbar-toggleable-xs .navbar-brand{display:block;float:none;margin:0}.rup-navbar .navbar-toggleable-xs .navbar-nav{margin:0}.rup-navbar .navbar-toggleable-xs .navbar-nav .dropdown-menu{position:static;float:none}}@media (min-width:576px){.rup-navbar .navbar-toggleable-xs{display:block}}@media (max-width:767px){.rup-navbar .navbar-toggleable-sm .navbar-brand{display:block;float:none;margin:0}.rup-navbar .navbar-toggleable-sm .navbar-nav{margin:0}.rup-navbar .navbar-toggleable-sm .navbar-nav .dropdown-menu{position:static;float:none}}@media (min-width:768px){.rup-navbar .navbar-toggleable-sm{display:block}}@media (max-width:991px){.rup-navbar .navbar-toggleable-md .navbar-brand{display:block;float:none;margin:0}.rup-navbar .navbar-toggleable-md .navbar-nav{margin:0}.rup-navbar .navbar-toggleable-md .navbar-nav .dropdown-menu{position:static;float:none}}@media (min-width:992px){.rup-navbar .navbar-toggleable-md{display:block}}.rup-navbar .navbar-toggleable-lg:after{content:"";display:table;clear:both}@media (max-width:1199px){.rup-navbar .navbar-toggleable-lg .navbar-brand{display:block;float:none;margin:0}.rup-navbar .navbar-toggleable-lg .navbar-nav{margin:0}.rup-navbar .navbar-toggleable-lg .navbar-nav .dropdown-menu{position:static;float:none}}@media (min-width:1200px){.rup-navbar .navbar-toggleable-lg{display:block}}.rup-navbar .navbar-toggleable-xl{display:block}.rup-navbar .navbar-toggleable-xl:after{content:"";display:table;clear:both}.rup-navbar .navbar-toggleable-xl .navbar-brand{display:block;float:none;margin:0}.rup-navbar .navbar-toggleable-xl .navbar-nav{margin:0}.rup-navbar .navbar-toggleable-xl .navbar-nav .dropdown-menu{position:static;float:none}.rup-navbar .navbar-nav .nav-item{float:left}.rup-navbar .navbar-nav .nav-link{display:block;padding-top:.425rem;padding-bottom:.425rem}.rup-navbar .navbar-nav .nav-item+.nav-item,.rup-navbar .navbar-nav .nav-link+.nav-link{margin-left:1rem}.rup-navbar .navbar-light .navbar-brand,.rup-navbar .navbar-light .navbar-brand:focus,.rup-navbar .navbar-light .navbar-brand:hover,.rup-navbar .navbar-light .navbar-toggler,.rup-navbar .navbar-light .navbar-toggler:focus,.rup-navbar .navbar-light .navbar-toggler:hover{color:rgba(0,0,0,.9)}.rup-navbar .navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.rup-navbar .navbar-light .navbar-nav .nav-link:focus,.rup-navbar .navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.rup-navbar .navbar-light .navbar-nav .active>.nav-link,.rup-navbar .navbar-light .navbar-nav .active>.nav-link:focus,.rup-navbar .navbar-light .navbar-nav .active>.nav-link:hover,.rup-navbar .navbar-light .navbar-nav .nav-link.active,.rup-navbar .navbar-light .navbar-nav .nav-link.active:focus,.rup-navbar .navbar-light .navbar-nav .nav-link.active:hover,.rup-navbar .navbar-light .navbar-nav .nav-link.open,.rup-navbar .navbar-light .navbar-nav .nav-link.open:focus,.rup-navbar .navbar-light .navbar-nav .nav-link.open:hover,.rup-navbar .navbar-light .navbar-nav .open>.nav-link,.rup-navbar .navbar-light .navbar-nav .open>.nav-link:focus,.rup-navbar .navbar-light .navbar-nav .open>.nav-link:hover{color:rgba(0,0,0,.9)}.rup-navbar .navbar-light .navbar-toggler{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0,0,0,0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");border-color:rgba(0,0,0,.1)}.rup-navbar .navbar-light .navbar-divider{background-color:rgba(0,0,0,.075)}.rup-navbar .navbar-dark .navbar-brand,.rup-navbar .navbar-dark .navbar-brand:focus,.rup-navbar .navbar-dark .navbar-brand:hover,.rup-navbar .navbar-dark .navbar-toggler,.rup-navbar .navbar-dark .navbar-toggler:focus,.rup-navbar .navbar-dark .navbar-toggler:hover{color:#fff}.rup-navbar .navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.rup-navbar .navbar-dark .navbar-nav .nav-link:focus,.rup-navbar .navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.rup-navbar .navbar-dark .navbar-nav .active>.nav-link,.rup-navbar .navbar-dark .navbar-nav .active>.nav-link:focus,.rup-navbar .navbar-dark .navbar-nav .active>.nav-link:hover,.rup-navbar .navbar-dark .navbar-nav .nav-link.active,.rup-navbar .navbar-dark .navbar-nav .nav-link.active:focus,.rup-navbar .navbar-dark .navbar-nav .nav-link.active:hover,.rup-navbar .navbar-dark .navbar-nav .nav-link.open,.rup-navbar .navbar-dark .navbar-nav .nav-link.open:focus,.rup-navbar .navbar-dark .navbar-nav .nav-link.open:hover,.rup-navbar .navbar-dark .navbar-nav .open>.nav-link,.rup-navbar .navbar-dark .navbar-nav .open>.nav-link:focus,.rup-navbar .navbar-dark .navbar-nav .open>.nav-link:hover{color:#fff}.rup-navbar .navbar-dark .navbar-toggler{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");border-color:hsla(0,0%,100%,.1)}.rup-navbar .navbar-dark .navbar-divider{background-color:hsla(0,0%,100%,.075)}.rup-navbar .navbar-toggleable-xs:after{content:"";display:table;clear:both}@media (max-width:575px){.rup-navbar .navbar-toggleable-xs .navbar-nav .nav-item{float:none;margin-left:0}}@media (min-width:576px){.rup-navbar .navbar-toggleable-xs{display:block!important}}.rup-navbar .navbar-toggleable-sm:after{content:"";display:table;clear:both}@media (max-width:767px){.rup-navbar .navbar-toggleable-sm .navbar-nav .nav-item{float:none;margin-left:0}}@media (min-width:768px){.rup-navbar .navbar-toggleable-sm{display:block!important}}.rup-navbar .navbar-toggleable-md:after{content:"";display:table;clear:both}@media (max-width:991px){.rup-navbar .navbar-toggleable-md .navbar-nav .nav-item{float:none;margin-left:0}}@media (min-width:992px){.rup-navbar .navbar-toggleable-md{display:block!important}}.rup-navbar ul{margin-top:0}.rup-navbar ul .dropdown-menu a i.fa{padding-right:.5rem}.rup-navbar{clear:both;border:0 #204d71;background:#69a3d6;border-radius:0;padding:0;z-index:99;height:4rem;min-height:4rem;margin-bottom:0;position:relative;display:block}.rup-navbar .nav{padding-bottom:0}.rup-navbar .navbar-brand{background:#204d71;height:4rem;line-height:3rem;margin:0;padding:0 2rem;line-height:3.6rem}.rup-navbar .navbar-toggler{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='4' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");border-color:#eceeef;color:#eceeef;border-radius:0;margin:9px 0 9px 9px}.rup-navbar .navbar-toggler:focus,.rup-navbar .navbar-toggler:hover{background-color:inherit}.rup-navbar .navbar-nav{display:block}.rup-navbar .navbar-nav .dropdown-menu{position:absolute}.rup-navbar .navbar-nav.rup-nav-tools .rup-nav-tool-icon{font-size:2rem}.rup-navbar .navbar-nav.rup-nav-tools .rup-nav-tool-icon:after{display:none}.rup-navbar .navbar-nav.rup-nav-tools .rup-nav-tool-icon span{font-size:1.2rem;vertical-align:middle;padding-left:.2rem}.rup-navbar .navbar-nav.rup-nav-tools .swingTop{width:0;overflow:hidden;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-o-transition:all .3s ease;-ms-transition:all .3s ease;transition:all .3s ease}.rup-navbar .navbar-nav.rup-nav-tools .swingTop.on{width:4rem}.rup-navbar .navbar-nav>.nav-item{height:4rem;line-height:3rem;margin-left:0;padding-left:0;background:#337ab7;border-right:1px solid #69a3d6}.rup-navbar .navbar-nav>.nav-item+.nav-item{margin-left:inherit}.rup-navbar .navbar-nav>.nav-item.open,.rup-navbar .navbar-nav>.nav-item:hover{background:#69a3d6}.rup-navbar .navbar-nav>.nav-item .nav-link{padding-left:1rem;padding-right:1rem;line-height:3rem}.rup-navbar .navbar-nav>.nav-item .nav-link:focus,.rup-navbar .navbar-nav>.nav-item .nav-link:hover{background:#69a3d6}.rup-navbar .navbar-nav>.nav-item>.dropdown-menu{border-radius:0}.rup-navbar .navbar-nav>.nav-item>.dropdown-menu .dropdown-item{color:#333;line-height:2rem}.rup-navbar .navbar-nav>.nav-item>.dropdown-menu .dropdown-item:hover{background:#69a3d6;color:#fffcfb}.rup-navbar-sticky{position:fixed;width:100%;top:0}#overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(5,5,5,0);z-index:-1;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-o-transition:all .3s ease;-ms-transition:all .3s ease;transition:all .3s ease}#overlay.on{z-index:98;background-color:rgba(5,5,5,.7)}.navbar-nav.rup-nav-tools{float:right;margin-top:0}.navbar-nav.rup-nav-tools .rup-nav-tool-icon{font-size:2rem;vertical-align:initial;display:inherit;height:inherit}.navbar-nav.rup-nav-tools .rup-nav-tool-icon:after{display:none}.navbar-nav.rup-nav-tools .rup-nav-tool-icon span{font-size:1.2rem;vertical-align:middle;padding-left:.2rem}.navbar-nav>.nav-item{height:4rem;line-height:3rem;margin-left:0;padding-left:0;background:#337ab7}.navbar-nav>.nav-item.open{background:#69a3d6}.navbar-nav>.nav-item.open a.nav-link{background-color:inherit}.navbar-nav>.nav-item:hover{background:#69a3d6}.navbar-nav>.nav-item .nav-link{padding-left:1rem;padding-right:1rem}.navbar-nav>.nav-item .nav-link:hover{background:#69a3d6}.navbar-nav>.nav-item>.dropdown-menu{border-radius:0}.navbar-nav>.nav-item>.dropdown-menu .dropdown-item{color:#333;line-height:2rem}.navbar-nav>.nav-item>.dropdown-menu .dropdown-item:hover{background:#69a3d6;color:#fffcfb}@media (max-width:991px){#overlay{display:block}.open>.dropdown-menu{max-height:0}.rup-open>.dropdown-menu{max-height:20rem!important}.navbar-toggleable-md{margin-top:0;position:relative;z-index:99;width:100%;height:48px}.navbar-toggleable-md .navbar-nav{margin:0}.navbar-toggleable-md .navbar-nav.rup-nav-tools{display:table;width:100%;border:1px solid #69a3d6;border-right:0}.navbar-toggleable-md .navbar-nav.rup-nav-tools .nav-item{display:table-cell;text-align:center;border-right:1px solid #69a3d6}.navbar-toggleable-md .navbar-nav.rup-nav-tools .swingTop{display:block}.navbar-toggleable-md .navbar-nav .nav-item{display:inline-table;width:100%;border-right:0}.navbar-toggleable-md .navbar-nav .nav-item .dropdown-menu{position:static;float:none;margin:0;padding:0;border:0;overflow-y:auto;max-height:0;display:block;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-o-transition:all .3s ease;-ms-transition:all .3s ease;transition:all .3s ease;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-toggleable-md .navbar-nav .nav-item .dropdown-menu .dropdown-submenu .dropdown-menu{background-color:#e6e6e6}.navbar-toggleable-md .navbar-nav .nav-item .dropdown-menu:after,.navbar-toggleable-md .navbar-nav .nav-item .dropdown-menu:before{display:none}}nav.rup-navbar .option1{background:#8c8c8c}nav.rup-navbar .option2{background:#b3b3b3}nav.rup-navbar .navbar-collapse{background:#b6b6b6}.nav>.dropdown>.dropdown-menu>li>a{color:#333}nav.rup-navbar a{color:#fffcfb}.navbar-toggle .icon-bar{background-color:#fff}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu>a:after{border-color:transparent transparent transparent #ccc;border-style:solid;border-width:5px 0 5px 5px;content:" ";display:block;float:right;height:0;margin-right:-10px;margin-top:5px;position:absolute;right:1rem;top:.5rem;transform:rotate(270deg);width:0}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}nav>div.no-gutter{padding-right:0;padding-left:0}nav>div>ul>li>div.dropdown-menu.show{display:block}.ui-progressbar{height:2em;margin-bottom:20px;border:0;overflow:hidden;text-align:left}.ui-progressbar .ui-progressbar-value{margin:0;height:100%;color:#fff;background-color:#337ab7;background-image:none}.ui-progressbar .ui-progressbar-overlay{background-size:40px 40px;background-image:-webkit-linear-gradient(45deg,#204d71 25%,transparent 0,transparent 50%,#204d71 0,#204d71 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,#204d71 25%,transparent 25%,transparent 50%,#204d71 50%,#204d71 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,#204d71 25%,transparent 0,transparent 50%,#204d71 0,#204d71 75%,transparent 0,transparent);animation:animate-stripes 1s linear infinite}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}@-webkit-keyframes animate-stripes{0%{background-position:0 0}to{background-position:40px 0}}@keyframes animate-stripes{0%{background-position:0 0}to{background-position:40px 0}}input.rup_spinner{font-size:1rem}.rup-tabs_container.ui-tabs{padding:0;border:1px;border-top-right-radius:4px;border-top-left-radius:4px}.rup-tabs_container.ui-tabs .rupRandomLayerId.ui-tabs-panel{padding:0 .4rem}.rup-tabs_container.ui-tabs ul.ui-tabs-nav{padding:0 0 0 .2rem;background:none;border:none}.rup-tabs_container.ui-tabs ul.ui-tabs-nav li.ui-tabs-tab{border:none;background:transparent}.rup-tabs_container.ui-tabs ul.ui-tabs-nav li.ui-tabs-tab.ui-tabs-active{background:#fff;border:1px solid #ccc;border-bottom:none}.rup-tabs_container.ui-tabs ul.ui-tabs-nav li.ui-tabs-tab.ui-tabs-active a{color:#333}.rup-tabs_container.ui-tabs ul.ui-tabs-nav li.ui-tabs-tab a{color:#204d71;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-width:1px}.rup-time-input-group{display:inline-table;vertical-align:middle}.rup-time-input-group .hasDatepicker{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;display:table-cell}.rup-time-input-group .ui-timepicker-trigger{padding:.1rem .5rem;border-top-left-radius:0;border-bottom-left-radius:0;display:table-cell}.rup-time-input-group .ui-timepicker-trigger *{display:table-cell}.rup-toolbar{padding-top:2px;padding-bottom:2px;background:#e9e9e9;border:1px solid #ccc}.rup-dropdown-btn-group .rup-toolbar .rup-dropdown-button,.rup-toolbar .rup-dropdown-btn-group .rup-dropdown-button,.rup-toolbar .rup-wizard .rup-wizard_submitButton,.rup-toolbar .rup-wizard a.rup-wizard_next,.rup-toolbar .rup-wizard a.rup-wizard_prev,.rup-toolbar .ui-button.rup-button,.rup-toolbar a.rup-toolbar_menuButton.ui-button,.rup-toolbar button,.rup-wizard .rup-toolbar .rup-wizard_submitButton,.rup-wizard .rup-toolbar a.rup-wizard_next,.rup-wizard .rup-toolbar a.rup-wizard_prev{margin-right:5px}.rup-toolbar .rup-button-right{float:right}.rup-toolbar .rup-button-left{float:left}a.rup-toolbar_menuButton.ui-button span{display:inline-flex;padding-bottom:0}.rup-toolbar_menuButtonContainer ul[role=menu]{padding-left:0;padding-bottom:0}.rup-dropdown-btn-group .rup-toolbar_menuButtonContainer ul[role=menu] .rup-toolbar_menuButtonElement.rup-dropdown-button,.rup-toolbar_menuButtonContainer ul[role=menu] .rup-dropdown-btn-group .rup-toolbar_menuButtonElement.rup-dropdown-button,.rup-toolbar_menuButtonContainer ul[role=menu] .rup-toolbar_menuButtonElement.ui-button.rup-button,.rup-toolbar_menuButtonContainer ul[role=menu] .rup-wizard .rup-toolbar_menuButtonElement.rup-wizard_submitButton,.rup-toolbar_menuButtonContainer ul[role=menu] .rup-wizard a.rup-toolbar_menuButtonElement.rup-wizard_next,.rup-toolbar_menuButtonContainer ul[role=menu] .rup-wizard a.rup-toolbar_menuButtonElement.rup-wizard_prev,.rup-toolbar_menuButtonContainer ul[role=menu] a.rup-toolbar_menuButtonElement.rup-toolbar_menuButton.ui-button,.rup-toolbar_menuButtonContainer ul[role=menu] button.rup-toolbar_menuButtonElement,.rup-wizard .rup-toolbar_menuButtonContainer ul[role=menu] .rup-toolbar_menuButtonElement.rup-wizard_submitButton,.rup-wizard .rup-toolbar_menuButtonContainer ul[role=menu] a.rup-toolbar_menuButtonElement.rup-wizard_next,.rup-wizard .rup-toolbar_menuButtonContainer ul[role=menu] a.rup-toolbar_menuButtonElement.rup-wizard_prev{text-align:left}.rup-toolbar-mbutton{position:relative;width:100%;display:inline-table;float:none}#qtip-overlay{left:0;top:0}.rup-wizard_stepsDescContainer{padding:0}.rup-wizard_stepsDescContainer li a{font-size:1.1rem}.rup-wizard_stepsDescContainer-sticky{position:fixed;top:80px;width:100%;z-index:98}.rup-wizard .rup-wizard_submitButton,.rup-wizard a.rup-wizard_next,.rup-wizard a.rup-wizard_prev{width:auto;text-decoration:none;display:flex}.rup-wizard .rup-wizard_submitButton span:after,.rup-wizard a.rup-wizard_next:after,.rup-wizard a.rup-wizard_prev:before{font-size:1.5rem;line-height:1.5rem;font-family:FontAwesome;color:#69c}.rup-wizard fieldset{padding-top:1.5rem}.rup-wizard fieldset.commands-fieldset{border:none;margin:0}.rup-wizard .wizardLegend{color:#b0232a;font-size:1.2rem;font-weight:700}.rup-wizard a.rup-wizard_next:after{content:"\f0da";margin-left:1rem}.rup-wizard a.rup-wizard_prev:before{content:"\f0d9";margin-right:1rem}.rup-wizard .rup-wizard_submitButton span{display:flex}.rup-wizard .rup-wizard_submitButton span:after{content:"\e171";padding-left:.5rem}.grid-stack-item-content{background:#fff none repeat scroll 0 0;color:#2c3e50;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);transition:all .2s ease-in-out}.grid-stack-item-content:hover{box-shadow:0 12px 24px rgba(0,0,0,.19),0 8px 8px rgba(0,0,0,.23)}.grid-stack>.grid-stack-item>.grid-stack-item-content.no-scroll-x{overflow-x:hidden}.grid-stack>.grid-stack-item>.grid-stack-item-content.no-scroll-y{overflow-y:hidden}.grid-stack>.grid-stack-item>.grid-stack-item-content{height:inherit;overflow-y:hidden}.grid-stack>.grid-stack-item>.grid-stack-item-content>.widget{height:inherit}.grid-stack>.grid-stack-item>.grid-stack-item-content>.widget>.widget-body{height:93%;overflow-y:auto;overflow-x:hidden}.loading-modal{opacity:.2}.config-required-modal,.loading-modal{background-color:#000;height:inherit;position:relative;top:0;width:auto;margin-left:10px;margin-right:10px;display:none}.config-required-modal{opacity:.4}.config-required-modal>div,.loading-modal>div{height:inherit;width:inherit}.config-required-modal>div>div,.loading-modal>div>div{vertical-align:middle;color:#fff;text-align:center;width:inherit;height:100%}.config-required-modal>div>div>*,.loading-modal>div>div>span{color:#fff;position:relative;top:15%}.loading-modal>div>div>span{font-size:7em}.widget-header{cursor:move}.blurred-widget-content{-webkit-filter:blur(5px);-moz-filter:blur(5px);-o-filter:blur(5px);-ms-filter:blur(5px);filter:blur(5px)}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);-ms-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);-ms-transform:rotate(1turn);transform:rotate(1turn)}}.fileupload-buttonbar a{text-decoration:none}.template-download.error{background-color:#fdf7f7;border-color:#8b211e}.template-download .error-text{color:#d9534f;font-weight:700}.template-download .type-text{font-style:italic}.template-download .size-text{font-style:italic;padding-left:.5rem}.template-upload.error{background-color:#fdf7f7;border-color:#8b211e}.template-upload .error-text{color:#d9534f;font-weight:700}.template-upload .type-text{font-style:italic}.template-upload .size-text{font-style:italic;padding-left:.5rem}input.error{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center right .5625rem;background-size:1.125rem 1.125rem;padding-right:2rem}.rup-validate-error-icon{color:#d9534f}.rup-validate-field-error{position:relative}.rup-validate-field-error .rup-validate-error-icon{position:absolute;top:0;right:.8rem;line-height:1.9}div.error,label.error,span.error{color:#d9534f;font-style:italic}.widget-header{margin-left:.5em;margin-right:.5em;padding-bottom:.5em;padding-top:.5em;border-image:none;border:0 -moz-use-text-color;border-bottom:1px solid #cbcbcb;text-align:left}.widget-header-title{text-align:left;padding-left:.5em;font-weight:700}.widget-icon{cursor:pointer;color:grey}.widget-icon:hover{color:#000}.widget-icon{margin-left:.5em;margin-right:.5em}.widget-icon-right{float:right}.widget-body{padding:1em}.grid-stack>.grid-stack-item>.ui-resizable-se{background-image:none;background-color:#fff}.grid-stack.rup_dashboard>.grid-stack-item.widget-resize-full{position:fixed;top:1%;left:1%;width:98%;height:95%;z-index:10000}table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable tfoot th,table.dataTable thead th{font-weight:700}table.dataTable thead td,table.dataTable thead th{padding:10px 6px;border-bottom:1px solid #111}table.dataTable thead td:active,table.dataTable thead th:active{outline:none}table.dataTable tfoot td,table.dataTable tfoot th{padding:10px 3px 6px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_desc_disabled{cursor:pointer;*cursor:hand;background-repeat:no-repeat;background-position:100%}table.dataTable thead .sorting{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7XQMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC)}table.dataTable thead .sorting_asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==)}table.dataTable thead .sorting_desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII=)}table.dataTable thead .sorting_asc_disabled{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAW0lEQVQoz2NgoCm4w3Vnwh02wspK7/y6k01Ikdadx3f+37l9RxmfIsY7c4GKQHDiHUbcyhzvvIMq+3THBpci3jv7oIpAcMcdduzKEu/8vPMdDn/eiWQYBYMKAAC3ykIEuYQJUgAAAABJRU5ErkJggg==)}table.dataTable thead .sorting_desc_disabled{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAWUlEQVQoz2NgGAWDCtyJvPPzznc4/HknEbsy9js77vyHw313eHGZZ3PnE1TRuzuOuK1lvDMRqmzuHUZ87lO+cxuo6PEdLUIeyb7z604pYf+y3Zlwh4u2YQoAc7ZCBHH4jigAAAAASUVORK5CYII=)}table.dataTable tbody tr{background-color:#fff}table.dataTable tbody tr.selected.even,table.dataTable tbody tr.selected.odd{background-color:#fffa90}table.dataTable tbody td,table.dataTable tbody th{padding:8px 10px}table.dataTable.display tbody td,table.dataTable.display tbody th,table.dataTable.row-border tbody td,table.dataTable.row-border tbody th{border-top:1px solid #ddd}table.dataTable.display tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.row-border tbody tr:first-child th{border-top:none}table.dataTable.cell-border tbody td,table.dataTable.cell-border tbody th{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr td:first-child,table.dataTable.cell-border tbody tr th:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child td,table.dataTable.cell-border tbody tr:first-child th{border-top:none}table.dataTable.display tbody tr.odd,table.dataTable.stripe tbody tr.odd{background-color:#f9f9f9}table.dataTable.display tbody tr.odd.selected,table.dataTable.stripe tbody tr.odd.selected{background-color:#acbad4}table.dataTable.display tbody tr:hover,table.dataTable.hover tbody tr:hover{background-color:#f6f6f6}table.dataTable.display tbody tr:hover.selected,table.dataTable.hover tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3,table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3,table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:#f5f5f5}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap td,table.dataTable.nowrap th{white-space:nowrap}table.dataTable.compact thead td,table.dataTable.compact thead th{padding:4px 17px 4px 4px}table.dataTable.compact tbody td,table.dataTable.compact tbody th,table.dataTable.compact tfoot td,table.dataTable.compact tfoot th{padding:4px}table.dataTable td.dt-left,table.dataTable th.dt-left{text-align:left}table.dataTable td.dataTables_empty,table.dataTable td.dt-center,table.dataTable th.dt-center{text-align:center}table.dataTable td.dt-right,table.dataTable th.dt-right{text-align:right}table.dataTable td.dt-justify,table.dataTable th.dt-justify{text-align:justify}table.dataTable td.dt-nowrap,table.dataTable th.dt-nowrap{white-space:nowrap}table.dataTable tfoot td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable thead th.dt-head-left{text-align:left}table.dataTable tfoot td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable thead th.dt-head-center{text-align:center}table.dataTable tfoot td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable thead th.dt-head-right{text-align:right}table.dataTable tfoot td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable thead th.dt-head-justify{text-align:justify}table.dataTable tfoot td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable thead th.dt-head-nowrap{white-space:nowrap}table.dataTable tbody td.dt-body-left,table.dataTable tbody th.dt-body-left{text-align:left}table.dataTable tbody td.dt-body-center,table.dataTable tbody th.dt-body-center{text-align:center}table.dataTable tbody td.dt-body-right,table.dataTable tbody th.dt-body-right{text-align:right}table.dataTable tbody td.dt-body-justify,table.dataTable tbody th.dt-body-justify{text-align:justify}table.dataTable tbody td.dt-body-nowrap,table.dataTable tbody th.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable td,table.dataTable th{box-sizing:content-box}.dataTables_wrapper{position:relative;transform:scale(1);transform-origin:0 0;padding-left:2px;padding-right:3px;margin-top:5px}.dataTables_wrapper .dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:.5em}.dataTables_wrapper{clear:both;padding-top:.755em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:.5em .25em;margin-left:2px;text-align:center;text-decoration:none!important;cursor:pointer;*cursor:hand;color:#333!important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333!important;border:1px solid #979797;background-color:#fff;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(100%,#dcdcdc));background:-webkit-linear-gradient(top,#fff,#dcdcdc);background:-moz-linear-gradient(top,#fff 0,#dcdcdc 100%);background:-ms-linear-gradient(top,#fff 0,#dcdcdc 100%);background:-o-linear-gradient(top,#fff 0,#dcdcdc 100%);background:linear-gradient(180deg,#fff 0,#dcdcdc)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover{cursor:default;color:#666!important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:0;left:50%;width:100%;height:99.5%;margin-top:10px;margin-left:-50%;text-align:center;font-size:1.2em;border-width:0;background-color:hsla(0,0%,100%,.75)}.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_paginate,.dataTables_wrapper .dataTables_processing{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing{height:0;overflow:hidden;margin:0!important;padding:0!important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollBody>table,.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width:767px){.dataTables_wrapper .dataTables_paginate{margin-top:.5em}}@media screen and (max-width:640px){.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_length{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:.5em}}tfoot input{width:100%;padding:3px;box-sizing:border-box}tfoot .rup-date-input-group{display:flex}.formulario_legend{border:1px solid silver;margin-left:2px;margin-right:2px;padding-left:9px;padding-right:7px}.dataTables_length label{display:inline-flex}.dataTables_length select{margin:0 5px}.tr-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620;font-weight:700}table.dataTable tbody>tr:hover{background:#b9d4ec!important;font-weight:400}.dataTables_length .ui-multiselect,.dataTables_length .ui-selectmenu-dropdown,.dataTables_length select{margin:0 5px}.dtr-data{display:inline-block}.dataTables_length{float:none}.pagination{margin-bottom:0;justify-content:center;-ms-flex-pack:center}.closeResponsive,.openResponsive{height:14px;width:14px;display:inline-block;margin-right:8px;color:#fff;border:2px solid #fff;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0!important;line-height:14px;content:"+";cursor:pointer}.openResponsive:before{content:"+"}.openResponsive:hover{background-color:#0c4462}.openResponsive{background-color:#1472a4}.closeResponsive:before{content:"-"}.select-checkbox{text-align:center}.select-checkbox input{display:inline-block;vertical-align:inherit;margin-right:3px}.form-control-customer:disabled,.form-control-customer[readonly]{background-color:#eceeef;opacity:1}table.tableFit:not(.DTCR_clonedTable){width:100%!important;max-width:100%;box-sizing:border-box;margin-bottom:0}table.tableFit.DTCR_clonedTable{z-index:10}table.tableFit.DTCR_clonedTable,table.tableFit.DTCR_clonedTable>thead>tr>th:first-child:last-child{border-top-left-radius:0;border-top-right-radius:0}.sProcessingText{position:sticky;top:50%}table.dataTable tbody>tr.selected,table.dataTable tbody>tr>.selected{background-color:#b0bed9}table.dataTable.display tbody>tr.odd.selected,table.dataTable.display tbody>tr.odd>.selected,table.dataTable.stripe tbody>tr.odd.selected,table.dataTable.stripe tbody>tr.odd>.selected{background-color:#acbad4}table.dataTable.display tbody>tr.selected:hover,table.dataTable.display tbody>tr>.selected:hover,table.dataTable.hover tbody>tr.selected:hover,table.dataTable.hover tbody>tr>.selected:hover{background-color:#aab7d1}table.dataTable.display tbody>tr.selected>.sorting_1,table.dataTable.display tbody>tr.selected>.sorting_2,table.dataTable.display tbody>tr.selected>.sorting_3,table.dataTable.display tbody>tr>.selected,table.dataTable.order-column tbody>tr.selected>.sorting_1,table.dataTable.order-column tbody>tr.selected>.sorting_2,table.dataTable.order-column tbody>tr.selected>.sorting_3,table.dataTable.order-column tbody>tr>.selected{background-color:#acbad5}table.dataTable.display tbody>tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody>tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody>tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody>tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody>tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody>tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody>tr.odd>.selected,table.dataTable.order-column.stripe tbody>tr.odd>.selected{background-color:#a6b4cd}table.dataTable.display tbody>tr.even>.selected,table.dataTable.order-column.stripe tbody>tr.even>.selected{background-color:#acbad5}table.dataTable.display tbody>tr.selected:hover>.sorting_1,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody>tr.selected:hover>.sorting_2,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody>tr.selected:hover>.sorting_3,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_3{background-color:#a5b2cb}table.dataTable.display tbody>tr:hover>.selected,table.dataTable.display tbody>tr>.selected:hover,table.dataTable.order-column.hover tbody>tr:hover>.selected,table.dataTable.order-column.hover tbody>tr>.selected:hover{background-color:#a2aec7}div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{margin-left:.5em}@media screen and (max-width:640px){div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{margin-left:0;display:block}}.rup-table_checkmenu_arrow{position:absolute;margin-top:10px;cursor:pointer;background-position:-68px -16px}table.dataTable tfoot th:hover,table.dataTable thead th:hover{background-color:#aecff7}.disabledButtonsTable{pointer-events:none;opacity:.6}.divSelectTableHead{padding-top:3px;padding-left:20px}.selectTableHead{margin:0}.selectTableHead:before{content:"\a0";border:1px solid #000;border-radius:3px;display:block;width:15px;height:15px;margin:0;box-sizing:border-box}.selectTableHeadCheck:after{content:"\2714";display:block;margin-top:-16px;text-align:center;color:#000}@keyframes dtb-spinner{to{transform:rotate(1turn)}}@-o-keyframes dtb-spinner{to{-o-transform:rotate(1turn);transform:rotate(1turn)}}@-ms-keyframes dtb-spinner{to{-ms-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes dtb-spinner{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-moz-keyframes dtb-spinner{to{-moz-transform:rotate(1turn);transform:rotate(1turn)}}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:#fff;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:.5em;margin:0;font-weight:400;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}.dt-button.ui-button.rup-button,.rup-dropdown-btn-group .dt-button.rup-dropdown-button,.rup-wizard .dt-button.rup-wizard_submitButton,.rup-wizard a.dt-button.rup-wizard_next,.rup-wizard a.dt-button.rup-wizard_prev,a.dt-button,a.dt-button.rup-toolbar_menuButton.ui-button,button.dt-button,div.dt-button{position:relative;display:inline-block;box-sizing:border-box;margin-right:.333em;margin-bottom:.333em;padding:.5em 1em;border:1px solid #999;border-radius:2px;cursor:pointer;font-size:.88em;line-height:1.6em;color:#000;white-space:nowrap;overflow:hidden;background-color:#e9e9e9;background-image:-webkit-linear-gradient(top,#fff,#e9e9e9);background-image:-moz-linear-gradient(top,#fff 0,#e9e9e9 100%);background-image:-ms-linear-gradient(top,#fff 0,#e9e9e9 100%);background-image:-o-linear-gradient(top,#fff 0,#e9e9e9 100%);background-image:linear-gradient(180deg,#fff 0,#e9e9e9);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="white",EndColorStr="#e9e9e9");-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;outline:none}.dt-button.disabled.ui-button.rup-button,.rup-dropdown-btn-group .dt-button.disabled.rup-dropdown-button,.rup-wizard .dt-button.disabled.rup-wizard_submitButton,.rup-wizard a.dt-button.disabled.rup-wizard_next,.rup-wizard a.dt-button.disabled.rup-wizard_prev,a.dt-button.disabled,a.dt-button.disabled.rup-toolbar_menuButton.ui-button,button.dt-button.disabled,div.dt-button.disabled{color:#999;border:1px solid #d0d0d0;cursor:default;background-color:#f9f9f9;background-image:-webkit-linear-gradient(top,#fff,#f9f9f9);background-image:-moz-linear-gradient(top,#fff 0,#f9f9f9 100%);background-image:-ms-linear-gradient(top,#fff 0,#f9f9f9 100%);background-image:-o-linear-gradient(top,#fff 0,#f9f9f9 100%);background-image:linear-gradient(180deg,#fff 0,#f9f9f9);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="#ffffff",EndColorStr="#f9f9f9")}.dt-button.active.ui-button.rup-button:not(.disabled),.dt-button.ui-button.rup-button:active:not(.disabled),.rup-dropdown-btn-group .dt-button.active.rup-dropdown-button:not(.disabled),.rup-dropdown-btn-group .dt-button.rup-dropdown-button:active:not(.disabled),.rup-wizard .dt-button.active.rup-wizard_submitButton:not(.disabled),.rup-wizard .dt-button.rup-wizard_submitButton:active:not(.disabled),.rup-wizard a.dt-button.active.rup-wizard_next:not(.disabled),.rup-wizard a.dt-button.active.rup-wizard_prev:not(.disabled),.rup-wizard a.dt-button.rup-wizard_next:active:not(.disabled),.rup-wizard a.dt-button.rup-wizard_prev:active:not(.disabled),a.dt-button.active.rup-toolbar_menuButton.ui-button:not(.disabled),a.dt-button.active:not(.disabled),a.dt-button.rup-toolbar_menuButton.ui-button:active:not(.disabled),a.dt-button:active:not(.disabled),button.dt-button.active:not(.disabled),button.dt-button:active:not(.disabled),div.dt-button.active:not(.disabled),div.dt-button:active:not(.disabled){background-color:#e2e2e2;background-image:-webkit-linear-gradient(top,#f3f3f3,#e2e2e2);background-image:-moz-linear-gradient(top,#f3f3f3 0,#e2e2e2 100%);background-image:-ms-linear-gradient(top,#f3f3f3 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#f3f3f3 0,#e2e2e2 100%);background-image:linear-gradient(180deg,#f3f3f3 0,#e2e2e2);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="#f3f3f3",EndColorStr="#e2e2e2");box-shadow:inset 1px 1px 3px #999}.dt-button.active.ui-button.rup-button:not(.disabled):hover:not(.disabled),.dt-button.ui-button.rup-button:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group .dt-button.active.rup-dropdown-button:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group .dt-button.rup-dropdown-button:active:not(.disabled):hover:not(.disabled),.rup-wizard .dt-button.active.rup-wizard_submitButton:not(.disabled):hover:not(.disabled),.rup-wizard .dt-button.rup-wizard_submitButton:active:not(.disabled):hover:not(.disabled),.rup-wizard a.dt-button.active.rup-wizard_next:not(.disabled):hover:not(.disabled),.rup-wizard a.dt-button.active.rup-wizard_prev:not(.disabled):hover:not(.disabled),.rup-wizard a.dt-button.rup-wizard_next:active:not(.disabled):hover:not(.disabled),.rup-wizard a.dt-button.rup-wizard_prev:active:not(.disabled):hover:not(.disabled),a.dt-button.active.rup-toolbar_menuButton.ui-button:not(.disabled):hover:not(.disabled),a.dt-button.active:not(.disabled):hover:not(.disabled),a.dt-button.rup-toolbar_menuButton.ui-button:active:not(.disabled):hover:not(.disabled),a.dt-button:active:not(.disabled):hover:not(.disabled),button.dt-button.active:not(.disabled):hover:not(.disabled),button.dt-button:active:not(.disabled):hover:not(.disabled),div.dt-button.active:not(.disabled):hover:not(.disabled),div.dt-button:active:not(.disabled):hover:not(.disabled){box-shadow:inset 1px 1px 3px #999;background-color:#ccc;background-image:-webkit-linear-gradient(top,#eaeaea,#ccc);background-image:-moz-linear-gradient(top,#eaeaea 0,#ccc 100%);background-image:-ms-linear-gradient(top,#eaeaea 0,#ccc 100%);background-image:-o-linear-gradient(top,#eaeaea 0,#ccc 100%);background-image:linear-gradient(180deg,#eaeaea 0,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="#eaeaea",EndColorStr="#cccccc")}.dt-button.ui-button.rup-button:hover,.rup-dropdown-btn-group .dt-button.rup-dropdown-button:hover,.rup-wizard .dt-button.rup-wizard_submitButton:hover,.rup-wizard a.dt-button.rup-wizard_next:hover,.rup-wizard a.dt-button.rup-wizard_prev:hover,a.dt-button.rup-toolbar_menuButton.ui-button:hover,a.dt-button:hover,button.dt-button:hover,div.dt-button:hover{text-decoration:none}.dt-button.ui-button.rup-button:hover:not(.disabled),.rup-dropdown-btn-group .dt-button.rup-dropdown-button:hover:not(.disabled),.rup-wizard .dt-button.rup-wizard_submitButton:hover:not(.disabled),.rup-wizard a.dt-button.rup-wizard_next:hover:not(.disabled),.rup-wizard a.dt-button.rup-wizard_prev:hover:not(.disabled),a.dt-button.rup-toolbar_menuButton.ui-button:hover:not(.disabled),a.dt-button:hover:not(.disabled),button.dt-button:hover:not(.disabled),div.dt-button:hover:not(.disabled){border:1px solid #666;background-color:#e0e0e0;background-image:-webkit-linear-gradient(top,#f9f9f9,#e0e0e0);background-image:-moz-linear-gradient(top,#f9f9f9 0,#e0e0e0 100%);background-image:-ms-linear-gradient(top,#f9f9f9 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#f9f9f9 0,#e0e0e0 100%);background-image:linear-gradient(180deg,#f9f9f9 0,#e0e0e0);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="#f9f9f9",EndColorStr="#e0e0e0")}.dt-button.ui-button.rup-button:focus:not(.disabled),.rup-dropdown-btn-group .dt-button.rup-dropdown-button:focus:not(.disabled),.rup-wizard .dt-button.rup-wizard_submitButton:focus:not(.disabled),.rup-wizard a.dt-button.rup-wizard_next:focus:not(.disabled),.rup-wizard a.dt-button.rup-wizard_prev:focus:not(.disabled),a.dt-button.rup-toolbar_menuButton.ui-button:focus:not(.disabled),a.dt-button:focus:not(.disabled),button.dt-button:focus:not(.disabled),div.dt-button:focus:not(.disabled){border:1px solid #426c9e;text-shadow:0 1px 0 #c4def1;outline:none;background-color:#79ace9;background-image:-webkit-linear-gradient(top,#bddef4,#79ace9);background-image:-moz-linear-gradient(top,#bddef4 0,#79ace9 100%);background-image:-ms-linear-gradient(top,#bddef4 0,#79ace9 100%);background-image:-o-linear-gradient(top,#bddef4 0,#79ace9 100%);background-image:linear-gradient(180deg,#bddef4 0,#79ace9);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="#bddef4",EndColorStr="#79ace9")}.dt-button embed{outline:none}div.dt-buttons{position:relative;border-radius:5px}div.dt-buttons.buttons-right{float:right}div.dt-button-collection{position:absolute;top:0;left:0;width:110px;margin-top:3px;padding:8px;border:1px solid #ccc;border:1px solid rgba(0,0,0,.4);background-color:#fff;overflow:hidden;border-radius:5px;box-shadow:3px 3px 5px rgba(0,0,0,.3);z-index:2002;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}.rup-dropdown-btn-group div.dt-button-collection>.rup-dropdown-button,.rup-wizard div.dt-button-collection>.rup-wizard_submitButton,.rup-wizard div.dt-button-collection>a.rup-wizard_next,.rup-wizard div.dt-button-collection>a.rup-wizard_prev,div.dt-button-collection>.ui-button.rup-button,div.dt-button-collection>a.rup-toolbar_menuButton.ui-button,div.dt-button-collection>button{display:block;margin:auto;width:100%;text-align:left}.rup-dropdown-btn-group div.dt-button-collection>.rup-dropdown-button:not(:last-child),.rup-wizard div.dt-button-collection>.rup-wizard_submitButton:not(:last-child),.rup-wizard div.dt-button-collection>a.rup-wizard_next:not(:last-child),.rup-wizard div.dt-button-collection>a.rup-wizard_prev:not(:last-child),div.dt-button-collection>.ui-button.rup-button:not(:last-child),div.dt-button-collection>a.rup-toolbar_menuButton.ui-button:not(:last-child),div.dt-button-collection>button:not(:last-child){margin-bottom:4px}.rup-dropdown-btn-group div.dt-button-collection .dt-button.rup-dropdown-button,.rup-wizard div.dt-button-collection .dt-button.rup-wizard_submitButton,.rup-wizard div.dt-button-collection a.dt-button.rup-wizard_next,.rup-wizard div.dt-button-collection a.dt-button.rup-wizard_prev,div.dt-button-collection .dt-button.ui-button.rup-button,div.dt-button-collection .rup-dropdown-btn-group .dt-button.rup-dropdown-button,div.dt-button-collection .rup-wizard .dt-button.rup-wizard_submitButton,div.dt-button-collection .rup-wizard a.dt-button.rup-wizard_next,div.dt-button-collection .rup-wizard a.dt-button.rup-wizard_prev,div.dt-button-collection a.dt-button,div.dt-button-collection a.dt-button.rup-toolbar_menuButton.ui-button,div.dt-button-collection button.dt-button,div.dt-button-collection div.dt-button{position:relative;left:0;right:0;width:100%;display:block;float:none;margin-bottom:4px;margin-right:0}.rup-dropdown-btn-group div.dt-button-collection .dt-button.active.rup-dropdown-button:not(.disabled),.rup-dropdown-btn-group div.dt-button-collection .dt-button.rup-dropdown-button:active:not(.disabled),.rup-wizard div.dt-button-collection .dt-button.active.rup-wizard_submitButton:not(.disabled),.rup-wizard div.dt-button-collection .dt-button.rup-wizard_submitButton:active:not(.disabled),.rup-wizard div.dt-button-collection a.dt-button.active.rup-wizard_next:not(.disabled),.rup-wizard div.dt-button-collection a.dt-button.active.rup-wizard_prev:not(.disabled),.rup-wizard div.dt-button-collection a.dt-button.rup-wizard_next:active:not(.disabled),.rup-wizard div.dt-button-collection a.dt-button.rup-wizard_prev:active:not(.disabled),div.dt-button-collection .dt-button.active.ui-button.rup-button:not(.disabled),div.dt-button-collection .dt-button.ui-button.rup-button:active:not(.disabled),div.dt-button-collection .rup-dropdown-btn-group .dt-button.active.rup-dropdown-button:not(.disabled),div.dt-button-collection .rup-dropdown-btn-group .dt-button.rup-dropdown-button:active:not(.disabled),div.dt-button-collection .rup-wizard .dt-button.active.rup-wizard_submitButton:not(.disabled),div.dt-button-collection .rup-wizard .dt-button.rup-wizard_submitButton:active:not(.disabled),div.dt-button-collection .rup-wizard a.dt-button.active.rup-wizard_next:not(.disabled),div.dt-button-collection .rup-wizard a.dt-button.active.rup-wizard_prev:not(.disabled),div.dt-button-collection .rup-wizard a.dt-button.rup-wizard_next:active:not(.disabled),div.dt-button-collection .rup-wizard a.dt-button.rup-wizard_prev:active:not(.disabled),div.dt-button-collection a.dt-button.active.rup-toolbar_menuButton.ui-button:not(.disabled),div.dt-button-collection a.dt-button.active:not(.disabled),div.dt-button-collection a.dt-button.rup-toolbar_menuButton.ui-button:active:not(.disabled),div.dt-button-collection a.dt-button:active:not(.disabled),div.dt-button-collection button.dt-button.active:not(.disabled),div.dt-button-collection button.dt-button:active:not(.disabled),div.dt-button-collection div.dt-button.active:not(.disabled),div.dt-button-collection div.dt-button:active:not(.disabled){background-color:#dadada;background-image:-webkit-linear-gradient(top,#f0f0f0,#dadada);background-image:-moz-linear-gradient(top,#f0f0f0 0,#dadada 100%);background-image:-ms-linear-gradient(top,#f0f0f0 0,#dadada 100%);background-image:-o-linear-gradient(top,#f0f0f0 0,#dadada 100%);background-image:linear-gradient(180deg,#f0f0f0 0,#dadada);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="#f0f0f0",EndColorStr="#dadada");box-shadow:inset 1px 1px 3px #666}div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.fixed.two-column{margin-left:-150px}div.dt-button-collection.fixed.three-column{margin-left:-225px}div.dt-button-collection.fixed.four-column{margin-left:-300px}div.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-collection .dt-button{border-radius:0}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);background:-ms-radial-gradient(center,ellipse farthest-corner,rgba(0,0,0,.3) 0,rgba(0,0,0,.7) 100%);background:-moz-radial-gradient(center,ellipse farthest-corner,rgba(0,0,0,.3) 0,rgba(0,0,0,.7) 100%);background:-o-radial-gradient(center,ellipse farthest-corner,rgba(0,0,0,.3) 0,rgba(0,0,0,.7) 100%);background:-webkit-gradient(radial,center center,0,center center,497,color-stop(0,rgba(0,0,0,.3)),color-stop(1,rgba(0,0,0,.7)));background:-webkit-radial-gradient(center,ellipse farthest-corner,rgba(0,0,0,.3) 0,rgba(0,0,0,.7) 100%);background:radial-gradient(ellipse farthest-corner at center,rgba(0,0,0,.3) 0,rgba(0,0,0,.7) 100%);z-index:2001}@media screen and (max-width:640px){div.dt-buttons{text-align:center}}@media screen and (max-width:575px){.rup-dropdown-btn-group div.dt-buttons>.rup-dropdown-button,.rup-wizard div.dt-buttons>.rup-wizard_submitButton,.rup-wizard div.dt-buttons>a.rup-wizard_next,.rup-wizard div.dt-buttons>a.rup-wizard_prev,div.dt-buttons>.ui-button.rup-button,div.dt-buttons>a.rup-toolbar_menuButton.ui-button,div.dt-buttons>button{margin:3px}}.dt-button.processing.ui-button.rup-button,.rup-dropdown-btn-group .dt-button.processing.rup-dropdown-button,.rup-wizard .dt-button.processing.rup-wizard_submitButton,.rup-wizard a.dt-button.processing.rup-wizard_next,.rup-wizard a.dt-button.processing.rup-wizard_prev,a.dt-button.processing,a.dt-button.processing.rup-toolbar_menuButton.ui-button,button.dt-button.processing,div.dt-button.processing{color:rgba(0,0,0,.2)}.dt-button.processing.ui-button.rup-button:after,.rup-dropdown-btn-group .dt-button.processing.rup-dropdown-button:after,.rup-wizard .dt-button.processing.rup-wizard_submitButton:after,.rup-wizard a.dt-button.processing.rup-wizard_next:after,.rup-wizard a.dt-button.processing.rup-wizard_prev:after,a.dt-button.processing.rup-toolbar_menuButton.ui-button:after,a.dt-button.processing:after,button.dt-button.processing:after,div.dt-button.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:"\a0";border-radius:50%;border-color:#282828 transparent;border-style:solid;border-width:2px;animation:dtb-spinner 1.5s linear infinite;-o-animation:dtb-spinner 1.5s infinite linear;-ms-animation:dtb-spinner 1.5s infinite linear;-webkit-animation:dtb-spinner 1.5s linear infinite;-moz-animation:dtb-spinner 1.5s infinite linear}.dt-buttons{width:100%;margin:15px 0;padding:6px;background-color:#e9e9e9}.dt-button{margin-top:.333em}.align-right{float:right}.right-separator{margin-right:5px}.rup-dropdown-button,.rup-filtrar{color:#fff!important;background-color:#007bff!important;border-color:#007bff!important}ul.dtr-details .dtr-title{display:block;font-weight:700}ul.dtr-details .dtr-data{max-width:300px;width:90%}@keyframes fadein{0%{opacity:0}to{opacity:1}}@-moz-keyframes fadein{0%{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{0%{opacity:0}to{opacity:1}}@-ms-keyframes fadein{0%{opacity:0}to{opacity:1}}.app-primary-color{background-color:#1472a4!important}footer .footer-row-content{background-color:#1472a4}fieldset{border-radius:5px}.btn-material[class*=primary-high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-high-emphasis],div.dt-buttons button.btn-material[class*=primary-high-emphasis]{background-color:#1472a4}.btn-material[class*=primary-high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-high-emphasis]:hover,div.dt-buttons button.btn-material[class*=primary-high-emphasis]:hover{background-color:#1472a4;border-color:#1472a4}.btn-material[class*=primary-high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-high-emphasis]:active,div.dt-buttons button.btn-material[class*=primary-high-emphasis]:active{border-color:#1472a4}.btn-material[class*=primary-high-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-high-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-high-emphasis]:focus,div.dt-buttons button.btn-material[class*=primary-high-emphasis]:focus{background-color:#1472a4;background-color:#0c4462}.btn-material[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#1472a4}.btn-material[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons button.btn-material[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus{background-color:#0c4462;border-color:#1472a4}.btn-material[class*=secondary-high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-high-emphasis],div.dt-buttons button.btn-material[class*=secondary-high-emphasis]{background-color:#6c757d}.btn-material[class*=secondary-high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-high-emphasis]:hover,div.dt-buttons button.btn-material[class*=secondary-high-emphasis]:hover{background-color:#6c757d;border-color:#6c757d}.btn-material[class*=secondary-high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-high-emphasis]:active,div.dt-buttons button.btn-material[class*=secondary-high-emphasis]:active{border-color:#6c757d}.btn-material[class*=secondary-high-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-high-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-high-emphasis]:focus,div.dt-buttons button.btn-material[class*=secondary-high-emphasis]:focus{background-color:#6c757d;background-color:#40464b}.btn-material[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#6c757d}.btn-material[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons button.btn-material[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus{background-color:#40464b;border-color:#6c757d}.btn-material[class*=success-high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=success-high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-high-emphasis],div.dt-buttons button.btn-material[class*=success-high-emphasis]{background-color:#4caf50}.btn-material[class*=success-high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-high-emphasis]:hover,div.dt-buttons button.btn-material[class*=success-high-emphasis]:hover{background-color:#4caf50;border-color:#4caf50}.btn-material[class*=success-high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-high-emphasis]:active,div.dt-buttons button.btn-material[class*=success-high-emphasis]:active{border-color:#4caf50}.btn-material[class*=success-high-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-high-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-high-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-high-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-high-emphasis]:focus,div.dt-buttons button.btn-material[class*=success-high-emphasis]:focus{background-color:#4caf50;background-color:#2d6930}.btn-material[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#4caf50}.btn-material[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons button.btn-material[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus{background-color:#2d6930;border-color:#4caf50}.btn-material[class*=danger-high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-high-emphasis],div.dt-buttons button.btn-material[class*=danger-high-emphasis]{background-color:#dc3545}.btn-material[class*=danger-high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-high-emphasis]:hover,div.dt-buttons button.btn-material[class*=danger-high-emphasis]:hover{background-color:#dc3545;border-color:#dc3545}.btn-material[class*=danger-high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-high-emphasis]:active,div.dt-buttons button.btn-material[class*=danger-high-emphasis]:active{border-color:#dc3545}.btn-material[class*=danger-high-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-high-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-high-emphasis]:focus,div.dt-buttons button.btn-material[class*=danger-high-emphasis]:focus{background-color:#dc3545;background-color:#841f29}.btn-material[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#dc3545}.btn-material[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons button.btn-material[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus{background-color:#841f29;border-color:#dc3545}.btn-material[class*=warning-dark-high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-high-emphasis],div.dt-buttons button.btn-material[class*=warning-dark-high-emphasis]{background-color:#ffc107}.btn-material[class*=warning-dark-high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-high-emphasis]:hover,div.dt-buttons button.btn-material[class*=warning-dark-high-emphasis]:hover{background-color:#ffc107;border-color:#ffc107}.btn-material[class*=warning-dark-high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-high-emphasis]:active,div.dt-buttons button.btn-material[class*=warning-dark-high-emphasis]:active{border-color:#ffc107}.btn-material[class*=warning-dark-high-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-high-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-high-emphasis]:focus,div.dt-buttons button.btn-material[class*=warning-dark-high-emphasis]:focus{background-color:#ffc107;background-color:#997304}.btn-material[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#ffc107}.btn-material[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons button.btn-material[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus{background-color:#997304;border-color:#ffc107}.btn-material[class*=info-high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=info-high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-high-emphasis],div.dt-buttons button.btn-material[class*=info-high-emphasis]{background-color:#138496}.btn-material[class*=info-high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-high-emphasis]:hover,div.dt-buttons button.btn-material[class*=info-high-emphasis]:hover{background-color:#138496;border-color:#138496}.btn-material[class*=info-high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-high-emphasis]:active,div.dt-buttons button.btn-material[class*=info-high-emphasis]:active{border-color:#138496}.btn-material[class*=info-high-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-high-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-high-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-high-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-high-emphasis]:focus,div.dt-buttons button.btn-material[class*=info-high-emphasis]:focus{background-color:#138496;background-color:#0b4f5a}.btn-material[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#138496}.btn-material[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons button.btn-material[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus{background-color:#0b4f5a;border-color:#138496}.btn-material[class*=primary-medium-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-medium-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-medium-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-medium-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-medium-emphasis],div.dt-buttons button.btn-material[class*=primary-medium-emphasis]{color:#1472a4}.btn-material[class*=primary-medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=primary-medium-emphasis]:hover{background-color:#72aac8;border-color:#72aac8;color:#fff}.btn-material[class*=primary-medium-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-medium-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-medium-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-medium-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-medium-emphasis]:focus,div.dt-buttons button.btn-material[class*=primary-medium-emphasis]:focus{background-color:#428eb6;border-color:#428eb6;color:#fff}.btn-material[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#428eb6}.btn-material[class*=secondary-medium-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-medium-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-medium-emphasis],div.dt-buttons button.btn-material[class*=secondary-medium-emphasis]{color:#6c757d}.btn-material[class*=secondary-medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=secondary-medium-emphasis]:hover{background-color:#a6acb1;border-color:#a6acb1;color:#fff}.btn-material[class*=secondary-medium-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-medium-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-medium-emphasis]:focus,div.dt-buttons button.btn-material[class*=secondary-medium-emphasis]:focus{background-color:#899097;border-color:#899097;color:#fff}.btn-material[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#899097}.btn-material[class*=success-medium-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-medium-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-medium-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=success-medium-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-medium-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-medium-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-medium-emphasis],div.dt-buttons button.btn-material[class*=success-medium-emphasis]{color:#4caf50}.btn-material[class*=success-medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=success-medium-emphasis]:hover{background-color:#93cf96;border-color:#93cf96;color:#fff}.btn-material[class*=success-medium-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-medium-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-medium-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-medium-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-medium-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-medium-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-medium-emphasis]:focus,div.dt-buttons button.btn-material[class*=success-medium-emphasis]:focus{background-color:#6fbf72;border-color:#6fbf72;color:#fff}.btn-material[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#6fbf72}.btn-material[class*=danger-medium-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-medium-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-medium-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-medium-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-medium-emphasis],div.dt-buttons button.btn-material[class*=danger-medium-emphasis]{color:#dc3545}.btn-material[class*=danger-medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=danger-medium-emphasis]:hover{background-color:#ea858f;border-color:#ea858f;color:#fff}.btn-material[class*=danger-medium-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-medium-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-medium-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-medium-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-medium-emphasis]:focus,div.dt-buttons button.btn-material[class*=danger-medium-emphasis]:focus{background-color:#e35d6a;border-color:#e35d6a;color:#fff}.btn-material[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#e35d6a}.btn-material[class*=warning-dark-medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=warning-dark-medium-emphasis]:hover{background-color:#ffd96a;border-color:#ffd96a}.btn-material[class*=warning-dark-medium-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-medium-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-medium-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-medium-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-medium-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-medium-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-medium-emphasis]:focus,div.dt-buttons button.btn-material[class*=warning-dark-medium-emphasis]:focus{background-color:#ffcd38;border-color:#ffcd38}.btn-material[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#ffcd38}.btn-material[class*=info-medium-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-medium-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-medium-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=info-medium-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-medium-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-medium-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-medium-emphasis],div.dt-buttons button.btn-material[class*=info-medium-emphasis]{color:#138496}.btn-material[class*=info-medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=info-medium-emphasis]:hover{background-color:#71b5c0;border-color:#71b5c0;color:#fff}.btn-material[class*=info-medium-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-medium-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-medium-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-medium-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-medium-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-medium-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-medium-emphasis]:focus,div.dt-buttons button.btn-material[class*=info-medium-emphasis]:focus{background-color:#429cab;border-color:#429cab;color:#fff}.btn-material[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#429cab}.btn-material[class*=primary-low-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-low-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-low-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-low-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-low-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-low-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-low-emphasis],div.dt-buttons button.btn-material[class*=primary-low-emphasis]{color:#1472a4}.btn-material[class*=primary-low-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-low-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-low-emphasis]:hover,div.dt-buttons button.btn-material[class*=primary-low-emphasis]:hover{background-color:#72aac8;border-color:#72aac8;color:#fff}.btn-material[class*=primary-low-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-low-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-low-emphasis]:active,div.dt-buttons button.btn-material[class*=primary-low-emphasis]:active{background-color:#428eb6}.btn-material[class*=primary-low-emphasis]:active:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:active:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:active:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-low-emphasis]:active:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:active:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:active:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-low-emphasis]:active:focus,div.dt-buttons button.btn-material[class*=primary-low-emphasis]:active:focus{color:#fff}.btn-material[class*=primary-low-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-low-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-low-emphasis]:focus,div.dt-buttons button.btn-material[class*=primary-low-emphasis]:focus{border:2px solid #428eb6}.btn-material[class*=secondary-low-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-low-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-low-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-low-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-low-emphasis],div.dt-buttons button.btn-material[class*=secondary-low-emphasis]{color:#6c757d}.btn-material[class*=secondary-low-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-low-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-low-emphasis]:hover,div.dt-buttons button.btn-material[class*=secondary-low-emphasis]:hover{background-color:#a6acb1;border-color:#a6acb1;color:#fff}.btn-material[class*=secondary-low-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-low-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-low-emphasis]:active,div.dt-buttons button.btn-material[class*=secondary-low-emphasis]:active{background-color:#899097}.btn-material[class*=secondary-low-emphasis]:active:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:active:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:active:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-low-emphasis]:active:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:active:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:active:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-low-emphasis]:active:focus,div.dt-buttons button.btn-material[class*=secondary-low-emphasis]:active:focus{color:#fff}.btn-material[class*=secondary-low-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-low-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-low-emphasis]:focus,div.dt-buttons button.btn-material[class*=secondary-low-emphasis]:focus{border:2px solid #899097}.btn-material[class*=success-low-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-low-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-low-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=success-low-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-low-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-low-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-low-emphasis],div.dt-buttons button.btn-material[class*=success-low-emphasis]{color:#4caf50}.btn-material[class*=success-low-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-low-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-low-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-low-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-low-emphasis]:hover,div.dt-buttons button.btn-material[class*=success-low-emphasis]:hover{background-color:#93cf96;border-color:#93cf96;color:#fff}.btn-material[class*=success-low-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-low-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-low-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-low-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-low-emphasis]:active,div.dt-buttons button.btn-material[class*=success-low-emphasis]:active{background-color:#6fbf72}.btn-material[class*=success-low-emphasis]:active:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-low-emphasis]:active:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:active:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-low-emphasis]:active:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-low-emphasis]:active:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:active:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-low-emphasis]:active:focus,div.dt-buttons button.btn-material[class*=success-low-emphasis]:active:focus{color:#fff}.btn-material[class*=success-low-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-low-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-low-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-low-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-low-emphasis]:focus,div.dt-buttons button.btn-material[class*=success-low-emphasis]:focus{border:2px solid #6fbf72}.btn-material[class*=danger-low-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-low-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-low-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-low-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-low-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-low-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-low-emphasis],div.dt-buttons button.btn-material[class*=danger-low-emphasis]{color:#dc3545}.btn-material[class*=danger-low-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-low-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-low-emphasis]:hover,div.dt-buttons button.btn-material[class*=danger-low-emphasis]:hover{background-color:#ea858f;border-color:#ea858f;color:#fff}.btn-material[class*=danger-low-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-low-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-low-emphasis]:active,div.dt-buttons button.btn-material[class*=danger-low-emphasis]:active{background-color:#e35d6a}.btn-material[class*=danger-low-emphasis]:active:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:active:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:active:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-low-emphasis]:active:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:active:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:active:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-low-emphasis]:active:focus,div.dt-buttons button.btn-material[class*=danger-low-emphasis]:active:focus{color:#fff}.btn-material[class*=danger-low-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-low-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-low-emphasis]:focus,div.dt-buttons button.btn-material[class*=danger-low-emphasis]:focus{border:2px solid #e35d6a}.btn-material[class*=warning-dark-low-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-low-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-low-emphasis],div.dt-buttons button.btn-material[class*=warning-dark-low-emphasis]{color:#212529}.btn-material[class*=warning-dark-low-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-low-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-low-emphasis]:hover,div.dt-buttons button.btn-material[class*=warning-dark-low-emphasis]:hover{background-color:#ffd96a;border-color:#ffd96a}.btn-material[class*=warning-dark-low-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-low-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-low-emphasis]:active,div.dt-buttons button.btn-material[class*=warning-dark-low-emphasis]:active{background-color:#ffcd38}.btn-material[class*=warning-dark-low-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-low-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-low-emphasis]:focus,div.dt-buttons button.btn-material[class*=warning-dark-low-emphasis]:focus{border:2px solid #ffcd38}.btn-material[class*=info-low-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-low-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-low-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=info-low-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-low-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-low-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-low-emphasis],div.dt-buttons button.btn-material[class*=info-low-emphasis]{color:#138496}.btn-material[class*=info-low-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-low-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-low-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-low-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-low-emphasis]:hover,div.dt-buttons button.btn-material[class*=info-low-emphasis]:hover{background-color:#71b5c0;border-color:#71b5c0;color:#fff}.btn-material[class*=info-low-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-low-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-low-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-low-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-low-emphasis]:active,div.dt-buttons button.btn-material[class*=info-low-emphasis]:active{background-color:#429cab}.btn-material[class*=info-low-emphasis]:active:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-low-emphasis]:active:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:active:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-low-emphasis]:active:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-low-emphasis]:active:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:active:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-low-emphasis]:active:focus,div.dt-buttons button.btn-material[class*=info-low-emphasis]:active:focus{color:#fff}.btn-material[class*=info-low-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-low-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-low-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-low-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-low-emphasis]:focus,div.dt-buttons button.btn-material[class*=info-low-emphasis]:focus{border:2px solid #429cab}.btn-material[class*=high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=high-emphasis],div.dt-buttons button.btn-material[class*=high-emphasis]{color:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.btn-material[class*=high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=high-emphasis]:hover,div.dt-buttons button.btn-material[class*=high-emphasis]:hover{color:#fff;opacity:.9;box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2)}.btn-material[class*=high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=high-emphasis]:active,div.dt-buttons button.btn-material[class*=high-emphasis]:active{color:#fff;opacity:.5;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.btn-material[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.btn-material[class*=dark-high-emphasis],.btn-material[class*=dark-high-emphasis]:active,.btn-material[class*=dark-high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=dark-high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=dark-high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=dark-high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=dark-high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=dark-high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=dark-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=dark-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=dark-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=dark-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=dark-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=dark-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=dark-high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=dark-high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=dark-high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=dark-high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=dark-high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=dark-high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=dark-high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=dark-high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=dark-high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=dark-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=dark-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=dark-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=dark-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=dark-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=dark-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=dark-high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=dark-high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=dark-high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=dark-high-emphasis]:hover,div.dt-buttons button.btn-material[class*=dark-high-emphasis],div.dt-buttons button.btn-material[class*=dark-high-emphasis]:active,div.dt-buttons button.btn-material[class*=dark-high-emphasis]:hover{color:#212529}.btn-material[class*=medium-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=medium-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=medium-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=medium-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=medium-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=medium-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=medium-emphasis],div.dt-buttons button.btn-material[class*=medium-emphasis]{background-color:#fff;border-color:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.btn-material[class*=medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=medium-emphasis]:hover{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2)}.btn-material[class*=medium-emphasis]:active,.btn-material[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=medium-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=medium-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=medium-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=medium-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=medium-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=medium-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=medium-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=medium-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=medium-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=medium-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=medium-emphasis]:active,div.dt-buttons button.btn-material[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.btn-material[class*=dark-medium-emphasis],.btn-material[class*=dark-medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=dark-medium-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=dark-medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=dark-medium-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=dark-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=dark-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=dark-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=dark-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=dark-medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=dark-medium-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=dark-medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=dark-medium-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=dark-medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=dark-medium-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=dark-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=dark-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=dark-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=dark-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=dark-medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=dark-medium-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=dark-medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=dark-medium-emphasis],div.dt-buttons button.btn-material[class*=dark-medium-emphasis]:hover{color:#212529}.btn-material[class*=low-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=low-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=low-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=low-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=low-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=low-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=low-emphasis],div.dt-buttons button.btn-material[class*=low-emphasis]{border-color:transparent}.btn-material,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev,div.dt-buttons .btn-material.ui-button.rup-button,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button,div.dt-buttons button.btn-material{min-width:64px;height:30px;padding:6px 10px;border:2px solid transparent;border-radius:4px;font-size:.9rem!important;font-weight:400;letter-spacing:normal;line-height:.7;text-decoration:none;text-transform:uppercase;box-sizing:border-box}.btn-material:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev:hover,div.dt-buttons .btn-material.ui-button.rup-button:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button:hover,div.dt-buttons button.btn-material:hover{border:2px solid transparent}.btn-material:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev:focus,div.dt-buttons .btn-material.ui-button.rup-button:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button:focus,div.dt-buttons button.btn-material:focus{outline:none}.btn-material.disabled,.btn-material:disabled,.rup-dropdown-btn-group div.dt-buttons .btn-material.disabled.rup-dropdown-button,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button:disabled,.rup-wizard div.dt-buttons .btn-material.disabled.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton:disabled,.rup-wizard div.dt-buttons a.btn-material.disabled.rup-wizard_next,.rup-wizard div.dt-buttons a.btn-material.disabled.rup-wizard_prev,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next:disabled,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev:disabled,div.dt-buttons .btn-material.disabled.ui-button.rup-button,div.dt-buttons .btn-material.ui-button.rup-button:disabled,div.dt-buttons .rup-dropdown-btn-group .btn-material.disabled.rup-dropdown-button,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button:disabled,div.dt-buttons .rup-wizard .btn-material.disabled.rup-wizard_submitButton,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton:disabled,div.dt-buttons .rup-wizard a.btn-material.disabled.rup-wizard_next,div.dt-buttons .rup-wizard a.btn-material.disabled.rup-wizard_prev,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next:disabled,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev:disabled,div.dt-buttons a.btn-material.disabled.rup-toolbar_menuButton.ui-button,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button:disabled,div.dt-buttons button.btn-material.disabled,div.dt-buttons button.btn-material:disabled{color:rgba(0,0,0,.37);background-color:rgba(0,0,0,.12);border-color:transparent;box-shadow:none;cursor:default;pointer-events:none}.btn-material[class*=low]:disabled,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=low]:disabled,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=low]:disabled,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=low]:disabled,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=low]:disabled,div.dt-buttons .btn-material.ui-button.rup-button[class*=low]:disabled,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=low]:disabled,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=low]:disabled,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=low]:disabled,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=low]:disabled,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=low]:disabled,div.dt-buttons button.btn-material[class*=low]:disabled{background-color:transparent}.btn-material>i,.btn-material span,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button>i,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button span,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton>i,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton span,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next>i,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next span,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev>i,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev span,div.dt-buttons .btn-material.ui-button.rup-button>i,div.dt-buttons .btn-material.ui-button.rup-button span,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button>i,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button span,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton>i,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton span,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next>i,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next span,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev>i,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev span,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button>i,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button span,div.dt-buttons button.btn-material>i,div.dt-buttons button.btn-material span{vertical-align:middle}.btn-material>i.mdi,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button>i.mdi,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton>i.mdi,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next>i.mdi,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev>i.mdi,div.dt-buttons .btn-material.ui-button.rup-button>i.mdi,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button>i.mdi,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton>i.mdi,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next>i.mdi,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev>i.mdi,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button>i.mdi,div.dt-buttons button.btn-material>i.mdi{margin-right:.3rem;font-size:1.5rem}.btn-material-sm,.rup-dropdown-btn-group div.dt-buttons .btn-material-sm.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-material-sm.rup-wizard_submitButton,.rup-wizard div.dt-buttons a.btn-material-sm.rup-wizard_next,.rup-wizard div.dt-buttons a.btn-material-sm.rup-wizard_prev,div.dt-buttons .btn-material-sm.ui-button.rup-button,div.dt-buttons .rup-dropdown-btn-group .btn-material-sm.rup-dropdown-button,div.dt-buttons .rup-wizard .btn-material-sm.rup-wizard_submitButton,div.dt-buttons .rup-wizard a.btn-material-sm.rup-wizard_next,div.dt-buttons .rup-wizard a.btn-material-sm.rup-wizard_prev,div.dt-buttons a.btn-material-sm.rup-toolbar_menuButton.ui-button,div.dt-buttons button.btn-material-sm{height:26px;font-size:.85rem!important;padding:6px 8px}.btn-material-sm>i.mdi,.rup-dropdown-btn-group div.dt-buttons .btn-material-sm.rup-dropdown-button>i.mdi,.rup-wizard div.dt-buttons .btn-material-sm.rup-wizard_submitButton>i.mdi,.rup-wizard div.dt-buttons a.btn-material-sm.rup-wizard_next>i.mdi,.rup-wizard div.dt-buttons a.btn-material-sm.rup-wizard_prev>i.mdi,div.dt-buttons .btn-material-sm.ui-button.rup-button>i.mdi,div.dt-buttons .rup-dropdown-btn-group .btn-material-sm.rup-dropdown-button>i.mdi,div.dt-buttons .rup-wizard .btn-material-sm.rup-wizard_submitButton>i.mdi,div.dt-buttons .rup-wizard a.btn-material-sm.rup-wizard_next>i.mdi,div.dt-buttons .rup-wizard a.btn-material-sm.rup-wizard_prev>i.mdi,div.dt-buttons a.btn-material-sm.rup-toolbar_menuButton.ui-button>i.mdi,div.dt-buttons button.btn-material-sm>i.mdi{font-size:1.15rem}.btn-material-lg,.rup-dropdown-btn-group div.dt-buttons .btn-material-lg.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-material-lg.rup-wizard_submitButton,.rup-wizard div.dt-buttons a.btn-material-lg.rup-wizard_next,.rup-wizard div.dt-buttons a.btn-material-lg.rup-wizard_prev,div.dt-buttons .btn-material-lg.ui-button.rup-button,div.dt-buttons .rup-dropdown-btn-group .btn-material-lg.rup-dropdown-button,div.dt-buttons .rup-wizard .btn-material-lg.rup-wizard_submitButton,div.dt-buttons .rup-wizard a.btn-material-lg.rup-wizard_next,div.dt-buttons .rup-wizard a.btn-material-lg.rup-wizard_prev,div.dt-buttons a.btn-material-lg.rup-toolbar_menuButton.ui-button,div.dt-buttons button.btn-material-lg{font-size:1rem!important;height:34px;padding:6px 13px;line-height:.8}.btn-material-lg>i.mdi,.rup-dropdown-btn-group div.dt-buttons .btn-material-lg.rup-dropdown-button>i.mdi,.rup-wizard div.dt-buttons .btn-material-lg.rup-wizard_submitButton>i.mdi,.rup-wizard div.dt-buttons a.btn-material-lg.rup-wizard_next>i.mdi,.rup-wizard div.dt-buttons a.btn-material-lg.rup-wizard_prev>i.mdi,div.dt-buttons .btn-material-lg.ui-button.rup-button>i.mdi,div.dt-buttons .rup-dropdown-btn-group .btn-material-lg.rup-dropdown-button>i.mdi,div.dt-buttons .rup-wizard .btn-material-lg.rup-wizard_submitButton>i.mdi,div.dt-buttons .rup-wizard a.btn-material-lg.rup-wizard_next>i.mdi,div.dt-buttons .rup-wizard a.btn-material-lg.rup-wizard_prev>i.mdi,div.dt-buttons a.btn-material-lg.rup-toolbar_menuButton.ui-button>i.mdi,div.dt-buttons button.btn-material-lg>i.mdi{font-size:1.6rem}.btn-group .btn-material,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material{line-height:1.5;margin:0 -2px;text-align:center;border-radius:initial;background-color:#c4c7cb}.btn-group .btn-material:first-child,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.rup-dropdown-button:first-child,.rup-wizard div.dt-buttons .btn-group .btn-material.rup-wizard_submitButton:first-child,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_next:first-child,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_prev:first-child,div.dt-buttons .btn-group .btn-material.ui-button.rup-button:first-child,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.rup-dropdown-button:first-child,div.dt-buttons .btn-group .rup-wizard .btn-material.rup-wizard_submitButton:first-child,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_next:first-child,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_prev:first-child,div.dt-buttons .btn-group a.btn-material.rup-toolbar_menuButton.ui-button:first-child,div.dt-buttons .btn-group button.btn-material:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.btn-group .btn-material:last-child,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.rup-dropdown-button:last-child,.rup-wizard div.dt-buttons .btn-group .btn-material.rup-wizard_submitButton:last-child,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_next:last-child,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_prev:last-child,div.dt-buttons .btn-group .btn-material.ui-button.rup-button:last-child,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.rup-dropdown-button:last-child,div.dt-buttons .btn-group .rup-wizard .btn-material.rup-wizard_submitButton:last-child,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_next:last-child,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_prev:last-child,div.dt-buttons .btn-group a.btn-material.rup-toolbar_menuButton.ui-button:last-child,div.dt-buttons .btn-group button.btn-material:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.btn-group .btn-material:not(.active),.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.rup-dropdown-button:not(.active),.rup-wizard div.dt-buttons .btn-group .btn-material.rup-wizard_submitButton:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_next:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_prev:not(.active),div.dt-buttons .btn-group .btn-material.ui-button.rup-button:not(.active),div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.rup-dropdown-button:not(.active),div.dt-buttons .btn-group .rup-wizard .btn-material.rup-wizard_submitButton:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_next:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_prev:not(.active),div.dt-buttons .btn-group a.btn-material.rup-toolbar_menuButton.ui-button:not(.active),div.dt-buttons .btn-group button.btn-material:not(.active){cursor:pointer}.btn-group .btn-material>i.mdi,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.rup-dropdown-button>i.mdi,.rup-wizard div.dt-buttons .btn-group .btn-material.rup-wizard_submitButton>i.mdi,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_next>i.mdi,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_prev>i.mdi,div.dt-buttons .btn-group .btn-material.ui-button.rup-button>i.mdi,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.rup-dropdown-button>i.mdi,div.dt-buttons .btn-group .rup-wizard .btn-material.rup-wizard_submitButton>i.mdi,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_next>i.mdi,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_prev>i.mdi,div.dt-buttons .btn-group a.btn-material.rup-toolbar_menuButton.ui-button>i.mdi,div.dt-buttons .btn-group button.btn-material>i.mdi{line-height:.9}.btn-group .btn-material:hover:not(.active),.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.rup-dropdown-button:hover:not(.active),.rup-wizard div.dt-buttons .btn-group .btn-material.rup-wizard_submitButton:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_next:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group .btn-material.ui-button.rup-button:hover:not(.active),div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.rup-dropdown-button:hover:not(.active),div.dt-buttons .btn-group .rup-wizard .btn-material.rup-wizard_submitButton:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_next:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group a.btn-material.rup-toolbar_menuButton.ui-button:hover:not(.active),div.dt-buttons .btn-group button.btn-material:hover:not(.active){background-color:#a6acb1;color:#fff}.btn-group .btn-material.active,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.active.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.active.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.active.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.active.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.active.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.active.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.active.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.active.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.active.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.active.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.active{background-color:#899097;color:#fff;cursor:default}.btn-group .btn-material.btn-material-primary,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-primary.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-primary.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-primary.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-primary.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-primary.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-primary.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-primary.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-primary.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-primary.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-primary.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-primary{background-color:#a1c6da}.btn-group .btn-material.btn-material-primary:hover:not(.active),.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-primary.rup-dropdown-button:hover:not(.active),.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-primary.rup-wizard_submitButton:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-primary.rup-wizard_next:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-primary.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group .btn-material.btn-material-primary.ui-button.rup-button:hover:not(.active),div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-primary.rup-dropdown-button:hover:not(.active),div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-primary.rup-wizard_submitButton:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-primary.rup-wizard_next:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-primary.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group a.btn-material.btn-material-primary.rup-toolbar_menuButton.ui-button:hover:not(.active),div.dt-buttons .btn-group button.btn-material.btn-material-primary:hover:not(.active){background-color:#72aac8}.btn-group .btn-material.btn-material-primary.active,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-primary.active.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-primary.active.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-primary.active.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-primary.active.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-primary.active.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-primary.active.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-primary.active.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-primary.active.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-primary.active.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-primary.active.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-primary.active{background-color:#428eb6}.btn-group .btn-material.btn-material-success,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-success.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-success.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-success.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-success.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-success.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-success.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-success.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-success.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-success.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-success.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-success{background-color:#b7dfb9}.btn-group .btn-material.btn-material-success:hover:not(.active),.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-success.rup-dropdown-button:hover:not(.active),.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-success.rup-wizard_submitButton:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-success.rup-wizard_next:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-success.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group .btn-material.btn-material-success.ui-button.rup-button:hover:not(.active),div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-success.rup-dropdown-button:hover:not(.active),div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-success.rup-wizard_submitButton:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-success.rup-wizard_next:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-success.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group a.btn-material.btn-material-success.rup-toolbar_menuButton.ui-button:hover:not(.active),div.dt-buttons .btn-group button.btn-material.btn-material-success:hover:not(.active){background-color:#93cf96}.btn-group .btn-material.btn-material-success.active,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-success.active.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-success.active.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-success.active.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-success.active.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-success.active.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-success.active.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-success.active.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-success.active.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-success.active.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-success.active.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-success.active{background-color:#6fbf72}.btn-group .btn-material.btn-material-danger,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-danger.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-danger.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-danger.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-danger.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-danger.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-danger.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-danger.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-danger.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-danger.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-danger.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-danger{background-color:#f1aeb4}.btn-group .btn-material.btn-material-danger:hover:not(.active),.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-danger.rup-dropdown-button:hover:not(.active),.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-danger.rup-wizard_submitButton:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-danger.rup-wizard_next:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-danger.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group .btn-material.btn-material-danger.ui-button.rup-button:hover:not(.active),div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-danger.rup-dropdown-button:hover:not(.active),div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-danger.rup-wizard_submitButton:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-danger.rup-wizard_next:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-danger.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group a.btn-material.btn-material-danger.rup-toolbar_menuButton.ui-button:hover:not(.active),div.dt-buttons .btn-group button.btn-material.btn-material-danger:hover:not(.active){background-color:#ea858f}.btn-group .btn-material.btn-material-danger.active,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-danger.active.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-danger.active.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-danger.active.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-danger.active.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-danger.active.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-danger.active.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-danger.active.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-danger.active.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-danger.active.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-danger.active.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-danger.active{background-color:#e35d6a}.btn-group .btn-material.btn-material-warning,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-warning.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-warning.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-warning.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-warning.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-warning.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-warning.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-warning.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-warning.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-warning.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-warning.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-warning{background-color:#ffe69b;color:#212529}.btn-group .btn-material.btn-material-warning:hover:not(.active),.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-warning.rup-dropdown-button:hover:not(.active),.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-warning.rup-wizard_submitButton:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-warning.rup-wizard_next:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-warning.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group .btn-material.btn-material-warning.ui-button.rup-button:hover:not(.active),div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-warning.rup-dropdown-button:hover:not(.active),div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-warning.rup-wizard_submitButton:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-warning.rup-wizard_next:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-warning.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group a.btn-material.btn-material-warning.rup-toolbar_menuButton.ui-button:hover:not(.active),div.dt-buttons .btn-group button.btn-material.btn-material-warning:hover:not(.active){background-color:#ffd96a;color:#212529}.btn-group .btn-material.btn-material-warning.active,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-warning.active.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-warning.active.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-warning.active.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-warning.active.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-warning.active.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-warning.active.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-warning.active.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-warning.active.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-warning.active.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-warning.active.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-warning.active{background-color:#ffcd38}.btn-group .btn-material.btn-material-info,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-info.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-info.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-info.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-info.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-info.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-info.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-info.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-info.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-info.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-info.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-info{background-color:#a0cdd5}.btn-group .btn-material.btn-material-info:hover:not(.active),.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-info.rup-dropdown-button:hover:not(.active),.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-info.rup-wizard_submitButton:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-info.rup-wizard_next:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-info.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group .btn-material.btn-material-info.ui-button.rup-button:hover:not(.active),div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-info.rup-dropdown-button:hover:not(.active),div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-info.rup-wizard_submitButton:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-info.rup-wizard_next:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-info.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group a.btn-material.btn-material-info.rup-toolbar_menuButton.ui-button:hover:not(.active),div.dt-buttons .btn-group button.btn-material.btn-material-info:hover:not(.active){background-color:#71b5c0}.btn-group .btn-material.btn-material-info.active,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-info.active.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-info.active.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-info.active.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-info.active.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-info.active.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-info.active.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-info.active.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-info.active.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-info.active.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-info.active.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-info.active{background-color:#429cab}.form-groupMaterial input:not([type=checkbox]):not([type=radio]){display:block;width:100%;height:2rem;font-size:1rem;padding:5px 17px 5px 18px;border:1px solid #757575;border-radius:5px;box-sizing:border-box;color:#495057;background-image:none;background-color:#fff}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):hover:enabled{border-color:#212529}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):focus:enabled{outline:none;border-color:#1472a4;caret-color:#1472a4;border-width:2px;box-shadow:none;padding-left:17px}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):placeholder-shown:disabled{color:transparent}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):-ms-input-placeholder:disabled{color:transparent}.form-groupMaterial input[type=file]:enabled{padding-bottom:29px}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):focus:enabled~label,.form-groupMaterial input:not([type=checkbox]):not([type=radio]):valid:enabled~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):placeholder-shown:required~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):-ms-input-placeholder:required~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):disabled{background-color:#e9ecef}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):disabled~label{top:-10px;font-size:.9rem;color:#999;padding:0 5px;background:linear-gradient(0deg,#e9ecef 0,#e9ecef 40%,transparent 0,transparent)}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):placeholder-shown:disabled{background-color:#e9ecef}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):placeholder-shown:disabled~label{top:-10px;font-size:.9rem;color:#999;padding:0 5px;background:linear-gradient(0deg,#e9ecef 0,#e9ecef 40%,transparent 0,transparent)}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):-ms-input-placeholder:disabled{background-color:#e9ecef}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):-ms-input-placeholder:disabled~label{top:-10px;font-size:.9rem;color:#999;padding:0 5px;background:linear-gradient(0deg,#e9ecef 0,#e9ecef 40%,transparent 0,transparent)}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):required~label:after{content:" *"}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):read-only~label,.form-groupMaterial input:not([type=checkbox]):not([type=radio])[type=hidden]~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):-moz-read-only~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial[class*=col-] input~label{left:19px}.form-groupMaterial textarea{display:block;width:100%;min-height:2.4rem;font-size:1rem;padding:5px 17px 5px 18px;border:1px solid #757575;border-radius:5px;box-sizing:border-box;color:#495057;background-image:none;background-color:#fff}.form-groupMaterial textarea:hover:enabled{border-color:#212529}.form-groupMaterial textarea:focus:enabled{outline:none;border-color:#1472a4;caret-color:#1472a4;border-width:2px;box-shadow:none;padding:4px 17px}.form-groupMaterial textarea:placeholder-shown:disabled{color:transparent}.form-groupMaterial textarea:-ms-input-placeholder:disabled{color:transparent}.form-groupMaterial textarea:focus:enabled~label,.form-groupMaterial textarea:valid:enabled~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial textarea:placeholder-shown:required~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial textarea:-ms-input-placeholder:required~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial textarea:read-only~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial textarea:-moz-read-only~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial[class*=col-] textarea~label{left:19px}.form-groupMaterial{position:relative;margin:1rem 0}.form-groupMaterial select{display:block;width:100%;height:2rem;font-size:1rem;padding:0 20px 0 13px;border:1px solid #757575;border-radius:5px;box-sizing:border-box;color:#495057;background-image:none;background-color:#fff;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:color .3s ease,background-color .3s ease,border-bottom-color .3s ease;background-image:linear-gradient(45deg,transparent 50%,#555 0),linear-gradient(135deg,#555 50%,transparent 0);background-repeat:no-repeat;background-position:calc(100% - 14.5px) .8em,calc(100% - 9.5px) .8em;background-size:5px 5px,5px 5px}.form-groupMaterial select::-ms-expand{display:none}.form-groupMaterial select:hover:enabled{border-color:#212529}.form-groupMaterial select:focus:enabled{outline:none;border-color:#1472a4;caret-color:#1472a4;border-width:2px;box-shadow:none;padding-left:17px}.form-groupMaterial select:placeholder-shown:disabled{color:transparent}.form-groupMaterial select:-ms-input-placeholder:disabled{color:transparent}.form-groupMaterial select:focus:enabled~label,.form-groupMaterial select:valid:enabled~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial select:placeholder-shown:required~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial select:-ms-input-placeholder:required~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial select:disabled{background-color:#e9ecef}.form-groupMaterial select:disabled~label{top:-10px;font-size:.9rem;color:#999;padding:0 5px;background:linear-gradient(0deg,#e9ecef 0,#e9ecef 40%,transparent 0,transparent)}.form-groupMaterial select:placeholder-shown:disabled{background-color:#e9ecef}.form-groupMaterial select:placeholder-shown:disabled~label{top:-10px;font-size:.9rem;color:#999;padding:0 5px;background:linear-gradient(0deg,#e9ecef 0,#e9ecef 40%,transparent 0,transparent)}.form-groupMaterial select:-ms-input-placeholder:disabled{background-color:#e9ecef}.form-groupMaterial select:-ms-input-placeholder:disabled~label{top:-10px;font-size:.9rem;color:#999;padding:0 5px;background:linear-gradient(0deg,#e9ecef 0,#e9ecef 40%,transparent 0,transparent)}.form-groupMaterial select:required~label:after{content:" *"}.form-groupMaterial select:read-only~label,.form-groupMaterial select[type=hidden]~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial select:-moz-read-only~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial select:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.form-groupMaterial.rup-validate-field-error[class*=col-] select~i.mdi.error{right:25px}.form-groupMaterial label{color:#999;font-size:1rem;font-weight:400;position:absolute;pointer-events:none;left:14px;top:4px;padding-left:5px;transition:all .2s ease;-moz-transition:.2s ease all;-webkit-transition:all .2s ease}.form-groupMaterial[class*=col-] select~label{left:19px}@keyframes ripple-radio-hover{0%{box-shadow:0 0 0 1px transparent}50%{box-shadow:0 0 0 6px rgba(20,114,164,.05)}to{box-shadow:0 0 0 6px rgba(20,114,164,.1)}}@keyframes ripple-radio-active{0%{box-shadow:0 0 0 6px rgba(20,114,164,.1)}50%{box-shadow:0 0 0 6px rgba(20,114,164,.4)}to{box-shadow:0 0 0 6px rgba(20,114,164,.6)}}.radio-material{margin:.5em 0}.radio-material.radio-material-inline{display:inline-block;margin-right:1rem}.radio-material input[type=radio]{position:absolute;z-index:-1;opacity:0}.radio-material input[type=radio]:checked:hover:enabled~label:before,.radio-material input[type=radio]:hover:enabled~label:before{animation:ripple-radio-hover .2s linear forwards}.radio-material input[type=radio]:focus~label:before{animation:ripple-radio-active .2s linear forwards}.radio-material input[type=radio]:checked~label:before{border-color:#1472a4}.radio-material input[type=radio]:checked~label:after{transform:scale(1)}.radio-material input[type=radio]:active:enabled~label:before{animation:ripple-radio-active .2s linear forwards}.radio-material input[type=radio]:disabled~label:before{border-color:rgba(0,0,0,.26)}.radio-material input[type=radio]:disabled~label:after{background:rgba(0,0,0,.26)}.radio-material label{cursor:pointer;display:inline-block;height:18px;margin-bottom:0;padding-left:28px;position:relative;vertical-align:bottom}.radio-material label:after,.radio-material label:before{border-radius:50%;box-sizing:border-box;content:"";position:absolute;transition:all .3s ease;transition-property:transform,border-color}.radio-material label:before{border:2px solid rgba(0,0,0,.54);height:18px;left:0;top:0;width:18px}.radio-material label:after{background:#1472a4;height:8px;left:5px;top:5px;transform:scale(0);width:8px}.radio-material label:disabled{pointer-events:none}.radio-label-material{height:1.5rem}.radio-label-material label{font-size:.9rem;color:#1472a4}.form-radioGroupMaterial>label{position:absolute;top:2px;left:19px;font-size:.9rem;color:#1472a4;padding:0 5px}.form-radioGroupMaterial .radio-material{padding:.5rem 5rem;margin:.8rem 0}.form-radioGroupMaterial .radio-material>span:not(:last-child){margin-right:2rem}@keyframes ripple-checkbox-hover{0%{box-shadow:0 0 0 1px transparent}50%{box-shadow:0 0 0 6.5px rgba(20,114,164,.05)}to{box-shadow:0 0 0 6.5px rgba(20,114,164,.1)}}@keyframes ripple-checkbox-active{0%{box-shadow:0 0 0 6.5px rgba(20,114,164,.1)}50%{box-shadow:0 0 0 6.5px rgba(20,114,164,.4)}to{box-shadow:0 0 0 6.5px rgba(20,114,164,.6)}}.checkbox-material{position:relative;margin:1.2em 0;text-align:left}.checkbox-material.checkbox-material-inline{display:inline-block;margin-right:1rem}.checkbox-material label{cursor:pointer;display:inline;line-height:1.25em;vertical-align:top;clear:both;padding-left:1px}.checkbox-material label:not(:empty){padding-left:.75em}.checkbox-material label:after,.checkbox-material label:before{content:"";position:absolute;left:0;top:0;box-sizing:border-box}.checkbox-material label:before{width:1.25em;height:1.25em;background:#fff;border:2px solid rgba(0,0,0,.54);border-radius:.125em;cursor:pointer;transition:background .3s}.checkbox-material input[type=checkbox]{outline:0;opacity:0;width:1.25em;margin:0;display:block;float:left;font-size:inherit}.checkbox-material input[type=checkbox]:checked:hover:enabled~label:before,.checkbox-material input[type=checkbox]:hover:enabled~label:before{animation:ripple-checkbox-hover .2s linear forwards}.checkbox-material input[type=checkbox]:focus~label:before{animation:ripple-checkbox-active .2s linear forwards}.checkbox-material input[type=checkbox]:checked~label:before{background:#1472a4;border:none}.checkbox-material input[type=checkbox]:checked~label:after{transform:translate(.25em,.33654em) rotate(-45deg);width:.75em;height:.375em;border-color:#fff;border-style:none none solid solid;border-width:.125em}.checkbox-material input[type=checkbox]:active:enabled~label:before{animation:ripple-checkbox-active .2s linear forwards}.checkbox-material input[type=checkbox]:disabled~label:before{border-color:rgba(0,0,0,.26)}.checkbox-material input[type=checkbox]:disabled~label{pointer-events:none}.checkbox-material input[type=checkbox]:disabled:checked~label:before{background:rgba(0,0,0,.26)}table div.checkbox-material-inline label:after,table div.checkbox-material-inline label:before{top:3px}.form-groupMaterial.checkbox-material>label{line-height:2.9em;position:static}.form-groupMaterial.checkbox-material>label:after,.form-groupMaterial.checkbox-material>label:before{left:5px;top:10px}.dialog-content-material .checkbox-material label:after,.dialog-content-material .checkbox-material label:before{left:6px}.form-checkboxGroupMaterial>label{position:absolute;top:2px;left:19px;font-size:.9rem;color:#1472a4;padding:0 5px}.form-checkboxGroupMaterial .checkbox-material{padding:.5rem 1rem;margin:.8rem 0}.form-checkboxGroupMaterial .checkbox-material>span{position:relative}.form-checkboxGroupMaterial .checkbox-material>span:not(:last-child){margin-right:2rem}.form-checkboxGroupMaterial .checkbox-material>span label:not(:empty){padding-left:2em}table.table-material{border-top-left-radius:7px;border-top-right-radius:7px}table.table-material>thead th:hover{background-color:#a1c6da}table.table-material>thead tr{background-color:#e9e9e9}table.table-material>thead tr>th{border:none;border-bottom:1px solid #dee2e6}table.table-material>thead tr>th:first-child{border-top-left-radius:5px}table.table-material>thead tr>th:last-child{border-top-right-radius:5px}table.table-material>tbody tr>td{border:none;border-top:1px solid #dee2e6}table.table-material>tbody tr:hover>td{background-color:#a1c6da}table.table-material>tfoot tr>th{border:none;background-color:#fff}table.table-material>tfoot th:hover{background-color:#a1c6da}table.table-material i.mdi{font-weight:700;vertical-align:middle;font-size:1.35rem}table.table-material .checkbox-material{margin:.5em 0}.rup-breadCrumb_logoutDiv .rup-breadCrumb_link i.mdi{vertical-align:text-bottom;margin-right:.5rem}.btn-material.rup-dropdown{border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:none}.btn-material.rup-dropdown-button-material{min-width:0;width:25px;padding:initial;margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:none}.btn-material.rup-dropdown-button-material i.mdi{margin-right:0}.rup-dropdown-btn-group .rup-toolbar .btn-material.rup-dropdown-button,.rup-toolbar .btn-material.ui-button.rup-button,.rup-toolbar .rup-dropdown-btn-group .btn-material.rup-dropdown-button,.rup-toolbar .rup-wizard .btn-material.rup-wizard_submitButton,.rup-toolbar .rup-wizard a.btn-material.rup-wizard_next,.rup-toolbar .rup-wizard a.btn-material.rup-wizard_prev,.rup-toolbar a.btn-material.rup-toolbar_menuButton.ui-button,.rup-toolbar button.btn-material,.rup-wizard .rup-toolbar .btn-material.rup-wizard_submitButton,.rup-wizard .rup-toolbar a.btn-material.rup-wizard_next,.rup-wizard .rup-toolbar a.btn-material.rup-wizard_prev{margin:5px 2.5px}.rup-dropdown-btn-group .rup-mbutton-container.rup-mbutton-open .btn-material.rup-dropdown-button,.rup-mbutton-container.rup-mbutton-open .btn-material.ui-button.rup-button,.rup-mbutton-container.rup-mbutton-open .rup-dropdown-btn-group .btn-material.rup-dropdown-button,.rup-mbutton-container.rup-mbutton-open .rup-wizard .btn-material.rup-wizard_submitButton,.rup-mbutton-container.rup-mbutton-open .rup-wizard a.btn-material.rup-wizard_next,.rup-mbutton-container.rup-mbutton-open .rup-wizard a.btn-material.rup-wizard_prev,.rup-mbutton-container.rup-mbutton-open a.btn-material.rup-toolbar_menuButton.ui-button,.rup-mbutton-container.rup-mbutton-open button.btn-material,.rup-wizard .rup-mbutton-container.rup-mbutton-open .btn-material.rup-wizard_submitButton,.rup-wizard .rup-mbutton-container.rup-mbutton-open a.btn-material.rup-wizard_next,.rup-wizard .rup-mbutton-container.rup-mbutton-open a.btn-material.rup-wizard_prev{width:calc(100% - 5px);margin:5px 2.5px}.rup-dropdown-btn-group .rup-mbutton-container .btn-material.rup-dropdown-button,.rup-mbutton-container .btn-material.ui-button.rup-button,.rup-mbutton-container .rup-dropdown-btn-group .btn-material.rup-dropdown-button,.rup-mbutton-container .rup-wizard .btn-material.rup-wizard_submitButton,.rup-mbutton-container .rup-wizard a.btn-material.rup-wizard_next,.rup-mbutton-container .rup-wizard a.btn-material.rup-wizard_prev,.rup-mbutton-container a.btn-material.rup-toolbar_menuButton.ui-button,.rup-mbutton-container button.btn-material,.rup-wizard .rup-mbutton-container .btn-material.rup-wizard_submitButton,.rup-wizard .rup-mbutton-container a.btn-material.rup-wizard_next,.rup-wizard .rup-mbutton-container a.btn-material.rup-wizard_prev{height:30px}div.dialog-content-material{position:relative;border:0;padding:.5em 1em;background:0 0;overflow:auto}div.dialog-content-material+div.rup-table-buttonpanel-material{padding:.3em .4em .5em}div.rup-dialog{animation:fadein 1s;-webkit-animation:fadein 1s;-moz-animation:fadein 1s;-ms-animation:fadein 1s;-o-animation:fadein 1s}div.rup-dialog.ui-dialog{border:0}div.rup-dialog.ui-dialog .ui-dialog-titlebar{color:#fff}div.rup-dialog.ui-dialog .ui-dialog-titlebar i,div.rup-dialog.ui-dialog .ui-dialog-titlebar span.ui-dialog-title{font-size:1.25rem}@keyframes ripple-slider{0%{box-shadow:0 0 0 1px transparent}50%{box-shadow:0 0 0 5px rgba(20,114,164,.05)}to{box-shadow:0 0 0 5px rgba(20,114,164,.1)}}div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]),div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]){display:inline-block;width:calc(100% - 26px);padding-left:13px;border-right-style:hidden;color:#495057}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-dropdown-button,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-dropdown-button,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-wizard_submitButton,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_next,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_prev,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-wizard_submitButton,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_next,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_prev,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-dropdown-button,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-wizard_submitButton,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_next,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_prev,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.ui-button.rup-button,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-toolbar_menuButton.ui-button,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~button,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-dropdown-button,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-wizard_submitButton,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_next,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_prev,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.ui-button.rup-button,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-toolbar_menuButton.ui-button,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~button{border-color:#212529}div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled{padding-left:13px}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-dropdown-button,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-dropdown-button,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-wizard_submitButton,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_next,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_prev,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-wizard_submitButton,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_next,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_prev,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-dropdown-button,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-wizard_submitButton,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_next,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_prev,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.ui-button.rup-button,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-toolbar_menuButton.ui-button,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~button,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-dropdown-button,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-wizard_submitButton,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_next,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_prev,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.ui-button.rup-button,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-toolbar_menuButton.ui-button,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~button{border-color:#1472a4;border-width:2px;outline:none}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.ui-button.rup-button:focus,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-toolbar_menuButton.ui-button:focus,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~button:focus,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.ui-button.rup-button:focus,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-toolbar_menuButton.ui-button:focus,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~button:focus{background-color:#1472a4}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus img,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus img,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus img,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus img,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus img,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus img,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus img,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus img,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus img,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus img,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus img,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus img,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.ui-button.rup-button:focus img,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-toolbar_menuButton.ui-button:focus img,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~button:focus img,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus img,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus img,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus img,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus img,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.ui-button.rup-button:focus img,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-toolbar_menuButton.ui-button:focus img,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~button:focus img{filter:invert(100%) sepia(99%) saturate(0) hue-rotate(241deg) brightness(115%) contrast(100%)}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button{background-color:#e9ecef;border-color:#757575}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:hover,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:hover,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:hover,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:hover,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:hover,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:hover,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:hover,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:hover,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:hover,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:hover,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:hover,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:hover,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button:hover,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button:hover,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button:hover,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:hover,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:hover,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:hover,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:hover,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button:hover,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button:hover,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button:hover{cursor:auto}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:focus,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:focus,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:focus,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:focus,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:focus,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:focus,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:focus,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:focus,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:focus,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:focus,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:focus,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:focus,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button:focus,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button:focus,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button:focus,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:focus,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:focus,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:focus,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:focus,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button:focus,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button:focus,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button:focus{background-color:#e9ecef}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button img,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button img,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton img,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next img,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev img,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton img,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next img,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev img,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button img,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton img,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next img,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev img,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button img,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button img,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button img,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button img,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton img,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next img,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev img,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button img,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button img,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button img{filter:invert(45%) sepia(0) saturate(5%) hue-rotate(199deg) brightness(101%) contrast(90%)}.rup-dropdown-btn-group div.rup-date-input-group-material .rup-dropdown-button,.rup-dropdown-btn-group div.rup-time-input-group-material .rup-dropdown-button,.rup-wizard div.rup-date-input-group-material .rup-wizard_submitButton,.rup-wizard div.rup-date-input-group-material a.rup-wizard_next,.rup-wizard div.rup-date-input-group-material a.rup-wizard_prev,.rup-wizard div.rup-time-input-group-material .rup-wizard_submitButton,.rup-wizard div.rup-time-input-group-material a.rup-wizard_next,.rup-wizard div.rup-time-input-group-material a.rup-wizard_prev,div.rup-date-input-group-material .rup-dropdown-btn-group .rup-dropdown-button,div.rup-date-input-group-material .rup-wizard .rup-wizard_submitButton,div.rup-date-input-group-material .rup-wizard a.rup-wizard_next,div.rup-date-input-group-material .rup-wizard a.rup-wizard_prev,div.rup-date-input-group-material .ui-button.rup-button,div.rup-date-input-group-material a.rup-toolbar_menuButton.ui-button,div.rup-date-input-group-material button,div.rup-time-input-group-material .rup-dropdown-btn-group .rup-dropdown-button,div.rup-time-input-group-material .rup-wizard .rup-wizard_submitButton,div.rup-time-input-group-material .rup-wizard a.rup-wizard_next,div.rup-time-input-group-material .rup-wizard a.rup-wizard_prev,div.rup-time-input-group-material .ui-button.rup-button,div.rup-time-input-group-material a.rup-toolbar_menuButton.ui-button,div.rup-time-input-group-material button{width:30px;height:2rem;margin-left:-4px;padding:3px;vertical-align:bottom;border:1px solid #757575;border-left-style:hidden;border-bottom-left-radius:0;border-top-left-radius:0;box-sizing:border-box;outline:none;position:absolute}.rup-dropdown-btn-group div.rup-date-input-group-material .rup-dropdown-button img,.rup-dropdown-btn-group div.rup-time-input-group-material .rup-dropdown-button img,.rup-wizard div.rup-date-input-group-material .rup-wizard_submitButton img,.rup-wizard div.rup-date-input-group-material a.rup-wizard_next img,.rup-wizard div.rup-date-input-group-material a.rup-wizard_prev img,.rup-wizard div.rup-time-input-group-material .rup-wizard_submitButton img,.rup-wizard div.rup-time-input-group-material a.rup-wizard_next img,.rup-wizard div.rup-time-input-group-material a.rup-wizard_prev img,div.rup-date-input-group-material .rup-dropdown-btn-group .rup-dropdown-button img,div.rup-date-input-group-material .rup-wizard .rup-wizard_submitButton img,div.rup-date-input-group-material .rup-wizard a.rup-wizard_next img,div.rup-date-input-group-material .rup-wizard a.rup-wizard_prev img,div.rup-date-input-group-material .ui-button.rup-button img,div.rup-date-input-group-material a.rup-toolbar_menuButton.ui-button img,div.rup-date-input-group-material button img,div.rup-time-input-group-material .rup-dropdown-btn-group .rup-dropdown-button img,div.rup-time-input-group-material .rup-wizard .rup-wizard_submitButton img,div.rup-time-input-group-material .rup-wizard a.rup-wizard_next img,div.rup-time-input-group-material .rup-wizard a.rup-wizard_prev img,div.rup-time-input-group-material .ui-button.rup-button img,div.rup-time-input-group-material a.rup-toolbar_menuButton.ui-button img,div.rup-time-input-group-material button img{vertical-align:initial;line-height:1}div.rup-date-input-group-material+label,div.rup-time-input-group-material+label{top:-10px;left:15px;margin:0;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;position:absolute;z-index:1}div.material-datepicker.ui-datepicker{padding:initial;border-radius:3px}div.material-datepicker.ui-datepicker div.ui-datepicker-header{padding:initial}div.material-datepicker.ui-datepicker div.ui-datepicker-row-break~div.ui-datepicker-group>div.ui-datepicker-header{border-top-left-radius:0;border-top-right-radius:0}div.material-datepicker.ui-datepicker div.ui-widget-header{height:25px;border:initial;border-bottom-left-radius:0;border-bottom-right-radius:0;background-color:#1472a4;color:#fff}div.material-datepicker.ui-datepicker div.ui-widget-header a{top:1px}div.material-datepicker.ui-datepicker div.ui-widget-header a.ui-datepicker-prev-hover.ui-state-hover{left:2px}div.material-datepicker.ui-datepicker div.ui-widget-header a.ui-datepicker-next-hover.ui-state-hover{right:2px}div.material-datepicker.ui-datepicker div.ui-widget-header a.ui-datepicker-next-hover.ui-state-hover,div.material-datepicker.ui-datepicker div.ui-widget-header a.ui-datepicker-prev-hover.ui-state-hover{background:initial;border:initial}div.material-datepicker.ui-datepicker div.ui-widget-header a.ui-datepicker-next-hover.ui-state-hover>span.ui-icon,div.material-datepicker.ui-datepicker div.ui-widget-header a.ui-datepicker-prev-hover.ui-state-hover>span.ui-icon{transform:scale(1.1)}div.material-datepicker.ui-datepicker div.ui-widget-header a>span.ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}div.material-datepicker.ui-datepicker div.ui-widget-header div.ui-datepicker-title>select{height:23px;font-weight:700;cursor:pointer;background-color:transparent;border:none;color:#fff;padding:0 0 0 18px;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:color .3s ease,background-color .3s ease,border-bottom-color .3s ease;background-image:linear-gradient(45deg,transparent 50%,#fff 0),linear-gradient(135deg,#fff 50%,transparent 0);background-repeat:no-repeat;background-position:calc(100% - 13px) .75em,calc(100% - 8px) .75em;background-size:5px 5px,5px 5px}div.material-datepicker.ui-datepicker div.ui-widget-header div.ui-datepicker-title>select:focus,div.material-datepicker.ui-datepicker div.ui-widget-header div.ui-datepicker-title>select:hover{color:#1472a4;background-color:#fff}div.material-datepicker.ui-datepicker div.ui-widget-header div.ui-datepicker-title>select:-ms-expand{display:none}div.material-datepicker.ui-datepicker div.ui-widget-header div.ui-datepicker-title>select:first-child{margin-right:5%}div.material-datepicker.ui-datepicker dl{margin:.5em}div.material-datepicker.ui-datepicker dl dd{margin-bottom:1.35em}div.material-datepicker.ui-datepicker dl dd .ui_tpicker_time_input{border:none;box-shadow:none;padding:0}div.material-datepicker.ui-datepicker dl dd .ui-slider-horizontal{height:0;margin-top:.8em;margin-bottom:.8em;border:1px solid #1472a4}div.material-datepicker.ui-datepicker dl dd .ui-slider-horizontal span{top:-.5em;width:1em;height:1em;cursor:e-resize;border:2.5px solid #1472a4;background:#fff;color:#1472a4;border-radius:100%}div.material-datepicker.ui-datepicker dl dd .ui-slider-horizontal span:hover{transform:scale(1.25)}div.material-datepicker.ui-datepicker dl dd .ui-slider-horizontal span:focus{outline:none;transform:scale(1.25);animation:ripple-slider .2s linear forwards}div.material-datepicker.ui-datepicker table.ui-datepicker-calendar td.ui-datepicker-today>a{background-color:#1472a4;border:.1em solid #1472a4;color:#fff}div.material-datepicker.ui-datepicker table.ui-datepicker-calendar td.ui-datepicker-current-day>a{background-color:#4caf50;border:.1em solid #4caf50;color:#fff}div.material-datepicker.ui-datepicker table.ui-datepicker-calendar td.ui-state-highlight,div.material-datepicker.ui-datepicker table.ui-datepicker-calendar td.ui-state-highlight>a{background-color:#4caf50;border:0;color:#fff}div.material-datepicker.ui-datepicker table.ui-datepicker-calendar td>a:hover{background-color:#72aac8;border:.1em solid #72aac8;color:#fff}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-button,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard_submitButton,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_next,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_prev,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .rup-dropdown-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .rup-wizard_submitButton,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_next,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_prev,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-button.rup-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-toolbar_menuButton.ui-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button{min-width:64px;height:26px;padding:6px 8px;border:2px solid transparent;border-radius:4px;font-size:.85rem;font-weight:400;letter-spacing:normal;line-height:.7;text-decoration:none;text-transform:uppercase;box-sizing:border-box}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-button:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard_submitButton:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_next:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_prev:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .rup-dropdown-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .rup-wizard_submitButton:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_next:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_prev:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-button.rup-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-toolbar_menuButton.ui-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button:focus{outline:none}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-button:disabled,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard_submitButton:disabled,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_next:disabled,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_prev:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .rup-dropdown-button:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .rup-wizard_submitButton:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_next:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_prev:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-button.rup-button:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-toolbar_menuButton.ui-button:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button:disabled{color:rgba(0,0,0,.37);background-color:rgba(0,0,0,.12);border-color:transparent;box-shadow:none;cursor:default;pointer-events:none}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-dropdown-button,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-wizard_submitButton,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_next,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_prev,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-primary.rup-dropdown-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-primary.rup-wizard_submitButton,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_next,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_prev,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.ui-button.rup-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-toolbar_menuButton.ui-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-primary{color:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);background-color:#1472a4}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-dropdown-button:hover,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-wizard_submitButton:hover,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_next:hover,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_prev:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-primary.rup-dropdown-button:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-primary.rup-wizard_submitButton:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_next:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_prev:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.ui-button.rup-button:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-toolbar_menuButton.ui-button:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-primary:hover{color:#fff;opacity:.9;box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);background-color:#1472a4;border-color:#1472a4}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-dropdown-button:active,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-wizard_submitButton:active,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_next:active,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_prev:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-primary.rup-dropdown-button:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-primary.rup-wizard_submitButton:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_next:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_prev:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.ui-button.rup-button:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-toolbar_menuButton.ui-button:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-primary:active{color:#fff;opacity:.5;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);border-color:#1472a4}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-dropdown-button:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-wizard_submitButton:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_next:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_prev:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-primary.rup-dropdown-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-primary.rup-wizard_submitButton:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_next:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_prev:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.ui-button.rup-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-toolbar_menuButton.ui-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-primary:focus{background-color:#1472a4;background-color:#0c4462}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-dropdown-button,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-wizard_submitButton,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_next,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_prev,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-secondary.rup-dropdown-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-secondary.rup-wizard_submitButton,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_next,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_prev,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.ui-button.rup-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-toolbar_menuButton.ui-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-secondary{color:#1472a4;background-color:initial;border-color:transparent}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-dropdown-button:hover,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-wizard_submitButton:hover,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_next:hover,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_prev:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-secondary.rup-dropdown-button:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-secondary.rup-wizard_submitButton:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_next:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_prev:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.ui-button.rup-button:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-toolbar_menuButton.ui-button:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-secondary:hover{background-color:#72aac8;border-color:#72aac8;color:#fff}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-dropdown-button:active,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-wizard_submitButton:active,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_next:active,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_prev:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-secondary.rup-dropdown-button:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-secondary.rup-wizard_submitButton:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_next:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_prev:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.ui-button.rup-button:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-toolbar_menuButton.ui-button:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-secondary:active{background-color:#428eb6}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-dropdown-button:active:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-wizard_submitButton:active:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_next:active:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_prev:active:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-secondary.rup-dropdown-button:active:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-secondary.rup-wizard_submitButton:active:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_next:active:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_prev:active:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.ui-button.rup-button:active:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-toolbar_menuButton.ui-button:active:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-secondary:active:focus{color:#fff}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-dropdown-button:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-wizard_submitButton:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_next:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_prev:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-secondary.rup-dropdown-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-secondary.rup-wizard_submitButton:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_next:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_prev:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.ui-button.rup-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-toolbar_menuButton.ui-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-secondary:focus{border:2px solid #428eb6}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-dropdown-button:disabled,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-wizard_submitButton:disabled,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_next:disabled,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_prev:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-secondary.rup-dropdown-button:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-secondary.rup-wizard_submitButton:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_next:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_prev:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.ui-button.rup-button:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-toolbar_menuButton.ui-button:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-secondary:disabled{background-color:transparent}div.rup-feedback.rup-feedback_image{border:1px solid #c5c5c5;color:#495057}div.rup-feedback.rup-feedback_image>i.mdi{margin-right:1rem;font-weight:700;font-size:2rem;vertical-align:middle}div.rup-feedback.rup-feedback_image>i.mdi+div{display:initial;vertical-align:middle}.rup-dropdown-btn-group div.rup-feedback.rup-feedback_image .btn-material.rup-dropdown-button,.rup-wizard div.rup-feedback.rup-feedback_image .btn-material.rup-wizard_submitButton,.rup-wizard div.rup-feedback.rup-feedback_image a.btn-material.rup-wizard_next,.rup-wizard div.rup-feedback.rup-feedback_image a.btn-material.rup-wizard_prev,div.rup-feedback.rup-feedback_image .btn-material.ui-button.rup-button,div.rup-feedback.rup-feedback_image .rup-dropdown-btn-group .btn-material.rup-dropdown-button,div.rup-feedback.rup-feedback_image .rup-wizard .btn-material.rup-wizard_submitButton,div.rup-feedback.rup-feedback_image .rup-wizard a.btn-material.rup-wizard_next,div.rup-feedback.rup-feedback_image .rup-wizard a.btn-material.rup-wizard_prev,div.rup-feedback.rup-feedback_image a.btn-material.rup-toolbar_menuButton.ui-button,div.rup-feedback.rup-feedback_image button.btn-material{margin-left:1rem}div.rup-message{animation:fadein 1s;-webkit-animation:fadein 1s;-moz-animation:fadein 1s;-ms-animation:fadein 1s;-o-animation:fadein 1s}.form-groupMaterial input:not([type=checkbox]):not([type=radio]).rup_multifilter_selector{border-top-right-radius:0;border-bottom-right-radius:0}.form-groupMaterial label.select-material{left:14px}.form-groupMaterial select[ruptype=select]:enabled+span:hover span.select2-selection{border-color:#212529}.form-groupMaterial select[ruptype=select]:enabled+span.select2-container--focus+label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial select[ruptype=select]+span.select2-container--focus span.select2-selection,.form-groupMaterial select[ruptype=select]+span.select2-container--focus span.select2-selection:focus{outline:none;border-color:#1472a4;border-width:2px;box-shadow:none}.form-groupMaterial select[ruptype=select]+span.select2-container--focus span.select2-selection:focus span.select2-selection__rendered,.form-groupMaterial select[ruptype=select]+span.select2-container--focus span.select2-selection span.select2-selection__rendered{padding-left:17px;padding-right:19px;line-height:1.65}.form-groupMaterial select[ruptype=select]+span.select2-container--focus span.select2-selection:focus span.select2-selection__rendered input,.form-groupMaterial select[ruptype=select]+span.select2-container--focus span.select2-selection span.select2-selection__rendered input{height:calc(2rem - 4px)}.form-groupMaterial select[ruptype=select]+span.select2-container--open span.select2-selection--single span.select2-selection__arrow b{border-color:transparent transparent #555}.form-groupMaterial select[ruptype=select]+span.select2-container--disabled span.select2-selection--single{background-color:#e9ecef}.form-groupMaterial select[ruptype=select]+span.select2-container--disabled~label{color:#999;background:linear-gradient(0deg,#e9ecef 0,#e9ecef 40%,transparent 0,transparent)}.form-groupMaterial select[ruptype=select]+span span.select2-selection--single{height:2rem}.form-groupMaterial select[ruptype=select]+span span.select2-selection--single span.select2-selection__arrow{height:calc(2rem - 2px);border:none;background-position:50%}.form-groupMaterial select[ruptype=select]+span span.select2-selection--single span.select2-selection__arrow b{border-color:#555 transparent transparent}.form-groupMaterial select[ruptype=select]+span span.select2-selection{border:1px solid #757575}.form-groupMaterial select[ruptype=select]+span span.select2-selection__rendered{padding-left:18px;line-height:1.8}.form-groupMaterial select[ruptype=select]+span span.select2-selection__rendered input,.form-groupMaterial select[ruptype=select]+span span.select2-selection__rendered input:focus:enabled{height:calc(2rem - 2px);padding:0;background-color:initial}.form-groupMaterial select[ruptype=select]~label.select-material{left:14px}.form-groupMaterial[class*=col-] label.select-material,.form-groupMaterial[class*=col-] select[ruptype=select]~label.select-material{left:19px}.row .form-groupMaterial[class*=col-] label.select-material,.row .form-groupMaterial[class*=col-] select[ruptype=select]~label.select-material{left:29px}.select2-results__option[aria-selected=true]:before{display:inline-block;padding:0;border:0;font-family:initial;content:"\2713";color:#fff;background-color:#1472a4;font-size:1.2rem;text-align:center}.select2-search--dropdown{display:none}div.rup-slider-material.ui-slider-horizontal{height:0;margin-top:.8em;margin-bottom:.8em;border:1px solid #1472a4}div.rup-slider-material.ui-slider-horizontal span{top:-.5em;width:1em;height:1em;cursor:e-resize;border:2.5px solid #1472a4;background:#fff;color:#1472a4;border-radius:100%}div.rup-slider-material.ui-slider-horizontal span:hover{transform:scale(1.25)}div.rup-slider-material.ui-slider-horizontal span:focus{outline:none;transform:scale(1.25);animation:ripple-slider .2s linear forwards}div.rup-slider-range-material.ui-slider-horizontal{height:0;margin-top:.8em;margin-bottom:.8em}div.rup-slider-range-material.ui-slider-horizontal div.ui-slider-range{top:-1px;border:1px solid #1472a4}div.rup-slider-range-material.ui-slider-horizontal span{top:-.5em;width:1em;height:1em;cursor:e-resize;border:2.5px solid #1472a4;background:#fff;color:#1472a4;border-radius:100%}div.rup-slider-range-material.ui-slider-horizontal span:hover{transform:scale(1.25)}div.rup-slider-range-material.ui-slider-horizontal span:focus{outline:none;transform:scale(1.25);animation:ripple-slider .2s linear forwards}div.dt-buttons .btn-material{margin:.25rem}.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev,div.dt-buttons .btn-material.ui-button.rup-button,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button,div.dt-buttons button.btn-material{padding:6px 10px;border:2px solid transparent;border-radius:4px;line-height:.7;text-decoration:none;box-sizing:border-box;background-image:none}.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev:hover,div.dt-buttons .btn-material.ui-button.rup-button:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button:hover,div.dt-buttons button.btn-material:hover{background-image:none}.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev:active,div.dt-buttons .btn-material.ui-button.rup-button:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button:active,div.dt-buttons button.btn-material:active{background-image:none;border:2px solid transparent}.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev:focus,div.dt-buttons .btn-material.ui-button.rup-button:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button:focus,div.dt-buttons button.btn-material:focus{background-image:none;border:2px solid transparent;text-shadow:none}.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material:active:not(.disabled):hover:not(.disabled){background-image:none}.rup-dropdown-btn-group div.dt-button-collection .btn-material.rup-dropdown-button,.rup-wizard div.dt-button-collection .btn-material.rup-wizard_submitButton,.rup-wizard div.dt-button-collection a.btn-material.rup-wizard_next,.rup-wizard div.dt-button-collection a.btn-material.rup-wizard_prev,div.dt-button-collection .btn-material.ui-button.rup-button,div.dt-button-collection .rup-dropdown-btn-group .btn-material.rup-dropdown-button,div.dt-button-collection .rup-wizard .btn-material.rup-wizard_submitButton,div.dt-button-collection .rup-wizard a.btn-material.rup-wizard_next,div.dt-button-collection .rup-wizard a.btn-material.rup-wizard_prev,div.dt-button-collection a.btn-material.rup-toolbar_menuButton.ui-button,div.dt-button-collection button.btn-material{background-color:transparent;display:block;width:100%;text-align:left}div.formulario_legend{border-radius:5px;background-color:#e9e9e9}div.formulario_legend.formulario_opened{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:1px solid #dee2e6}div.formulario_legend.formulario_opened+fieldset.rup-table-filter-fieldset{border-top-left-radius:0;border-top-right-radius:0}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_desc_disabled{background-image:none}table.dataTable thead .sorting_asc_disabled span.mdi,table.dataTable thead .sorting_asc span.mdi,table.dataTable thead .sorting_desc_disabled span.mdi,table.dataTable thead .sorting_desc span.mdi,table.dataTable thead .sorting span.mdi{font-size:1.2rem}table.dataTable thead .sorting span.mdi-arrow-down,table.dataTable thead .sorting span.mdi-arrow-up{color:#999}table.dataTable thead .sorting_asc span.mdi-arrow-up{color:#1472a4}table.dataTable thead .sorting_asc span.mdi-arrow-down,table.dataTable thead .sorting_desc span.mdi-arrow-up{color:#999}table.dataTable thead .sorting_desc span.mdi-arrow-down{color:#1472a4}table.dataTable thead .sorting_asc_disabled span.mdi-arrow-up{color:#c5c5c5}table.dataTable thead .sorting_asc_disabled span.mdi-arrow-down,table.dataTable thead .sorting_desc_disabled span.mdi-arrow-up{color:#999}table.dataTable thead .sorting_desc_disabled span.mdi-arrow-down{color:#c5c5c5}table.dataTable thead .sorting_disabled>div:not(.divSelectTableHead){display:none!important}table.dataTable tbody td::-moz-selection{background-color:transparent}table.dataTable tbody td::selection{background-color:transparent}.paginationContainer .searchPaginator input{padding:1px;border:1px solid #757575;border-radius:5px;box-sizing:border-box;color:#495057;background-image:none;background-color:#fff}.paginationContainer .searchPaginator input:hover{border-color:#212529}.paginationContainer .searchPaginator input:focus{outline:none;border-color:#1472a4;caret-color:#1472a4;border-width:2px;box-shadow:none;padding:initial}.paginationContainer .dataTables_length label{margin:initial}.paginationContainer .dataTables_length label select{padding:0 15px 0 5px;border:1px solid #757575;border-radius:5px;box-sizing:border-box;color:#495057;background-image:none;background-color:#fff;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:color .3s ease,background-color .3s ease,border-bottom-color .3s ease;background-image:linear-gradient(45deg,transparent 50%,#555 0),linear-gradient(135deg,#555 50%,transparent 0);background-repeat:no-repeat;background-position:calc(100% - 9.5px) .8em,calc(100% - 4.5px) .8em;background-size:5px 5px,5px 5px}.paginationContainer .dataTables_length label select::-ms-expand{display:none}.paginationContainer .dataTables_length label select:hover{border-color:#212529}.paginationContainer .dataTables_length label select:focus{outline:none;border-color:#1472a4;caret-color:#1472a4;border-width:2px;box-shadow:none}@media (min-width:1200px){.col-xl-6 .paginationContainer .dataTables_length label select{padding:0 10px 0 0;background-position:calc(100% - 7.5px) .8em,calc(100% - 2.5px) .8em}}form+div.paginationContainer{border-bottom-left-radius:7px;border-bottom-right-radius:7px}i.mdi.error{color:#d9534f}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]),.form-groupMaterial.rup-validate-field-error select,.form-groupMaterial.rup-validate-field-error textarea{padding-right:30px}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):enabled~label,.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):enabled~span,.form-groupMaterial.rup-validate-field-error select:enabled~label,.form-groupMaterial.rup-validate-field-error select:enabled~span,.form-groupMaterial.rup-validate-field-error textarea:enabled~label,.form-groupMaterial.rup-validate-field-error textarea:enabled~span{color:#d9534f}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):enabled~span a.select-material,.form-groupMaterial.rup-validate-field-error select:enabled~span a.select-material,.form-groupMaterial.rup-validate-field-error textarea:enabled~span a.select-material{border-color:#d9534f}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):enabled~span a.select-material:hover,.form-groupMaterial.rup-validate-field-error select:enabled~span a.select-material:hover,.form-groupMaterial.rup-validate-field-error textarea:enabled~span a.select-material:hover{border-color:#d43f3a}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):enabled~span a.select-material:focus,.form-groupMaterial.rup-validate-field-error select:enabled~span a.select-material:focus,.form-groupMaterial.rup-validate-field-error textarea:enabled~span a.select-material:focus{border:2px solid #d43f3a}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):invalid:enabled~label,.form-groupMaterial.rup-validate-field-error select:invalid:enabled~label,.form-groupMaterial.rup-validate-field-error textarea:invalid:enabled~label{color:#495057}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):enabled,.form-groupMaterial.rup-validate-field-error select:enabled,.form-groupMaterial.rup-validate-field-error textarea:enabled{border-color:#d9534f}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):hover:enabled,.form-groupMaterial.rup-validate-field-error select:hover:enabled,.form-groupMaterial.rup-validate-field-error textarea:hover:enabled{border-color:#d43f3a}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):focus:enabled,.form-groupMaterial.rup-validate-field-error select:focus:enabled,.form-groupMaterial.rup-validate-field-error textarea:focus:enabled{border:2px solid #d43f3a;caret-color:#d43f3a;outline:none}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):focus:enabled:invalid~label,.form-groupMaterial.rup-validate-field-error select:focus:enabled:invalid~label,.form-groupMaterial.rup-validate-field-error span,.form-groupMaterial.rup-validate-field-error textarea:focus:enabled:invalid~label{color:#d9534f}.form-groupMaterial.rup-validate-field-error i.mdi.error{position:absolute;top:1px;right:10px;font-size:1.3rem;font-style:normal;font-weight:400}.form-groupMaterial.rup-validate-field-error .error:last-child{display:block;padding-top:2px}.form-groupMaterial.rup-validate-field-error select{padding-right:45px}.form-groupMaterial.rup-validate-field-error select~i.mdi.error{right:25px}.form-groupMaterial.rup-validate-field-error textarea{padding-right:35px}.form-groupMaterial.rup-validate-field-error textarea~i.mdi.error{top:7px;right:25px}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.ui-button.rup-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-toolbar_menuButton.ui-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~button,.rup-dropdown-btn-group .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev{border-color:#d9534f}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.ui-button.rup-button:focus,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-toolbar_menuButton.ui-button:focus,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~button:focus,.rup-dropdown-btn-group .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus{background-color:#d43f3a}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus>i.mdi,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus>i.mdi,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus>i.mdi,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus>i.mdi,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.ui-button.rup-button:focus>i.mdi,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-toolbar_menuButton.ui-button:focus>i.mdi,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~button:focus>i.mdi,.rup-dropdown-btn-group .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus>i.mdi,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus>i.mdi,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus>i.mdi,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus>i.mdi{color:#fff}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-dropdown-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-wizard_submitButton,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_next,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_prev,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.ui-button.rup-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-toolbar_menuButton.ui-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~button,.rup-dropdown-btn-group .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-dropdown-button,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-wizard_submitButton,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_next,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_prev{border-color:#d43f3a}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled{border:2px solid #d43f3a;caret-color:#d43f3a}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-dropdown-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-wizard_submitButton,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_next,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_prev,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.ui-button.rup-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-toolbar_menuButton.ui-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~button,.rup-dropdown-btn-group .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-dropdown-button,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-wizard_submitButton,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_next,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_prev{border:2px solid #d43f3a;border-left-style:hidden}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material+label{color:#d9534f}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material+i.mdi.error{position:absolute;top:1px;right:30px;font-size:1.3rem;font-style:normal;font-weight:400}.inline .form-groupMaterial.rup-validate-field-error .error:last-child{display:block;position:absolute;padding:initial}.material-rounded{border-radius:16px}.pointer{cursor:pointer}.clear{clear:both}.font-size-5rem{font-size:5rem}.title{color:rgba(16,91,131,.8);border-bottom:2px solid rgba(87,126,154,.5)}.text-decoration-underline{text-decoration:underline!important}@font-face{font-family:Material Design Icons;src:url(fonts/materialdesignicons-webfont.eot);src:url(fonts/materialdesignicons-webfont.eot?#iefix&v=4.9.95) format("embedded-opentype"),url(fonts/materialdesignicons-webfont.woff2) format("woff2"),url(fonts/materialdesignicons-webfont.woff) format("woff"),url(fonts/materialdesignicons-webfont.ttf) format("truetype");font-weight:400;font-style:normal}.mdi-set,.mdi:before{display:inline-block;font:normal normal normal 24px/1 Material Design Icons;font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mdi-ab-testing:before{content:"\F001C"}.mdi-abjad-arabic:before{content:"\F0353"}.mdi-abjad-hebrew:before{content:"\F0354"}.mdi-abugida-devanagari:before{content:"\F0355"}.mdi-abugida-thai:before{content:"\F0356"}.mdi-access-point:before{content:"\F002"}.mdi-access-point-network:before{content:"\F003"}.mdi-access-point-network-off:before{content:"\FBBD"}.mdi-account:before{content:"\F004"}.mdi-account-alert:before{content:"\F005"}.mdi-account-alert-outline:before{content:"\FB2C"}.mdi-account-arrow-left:before{content:"\FB2D"}.mdi-account-arrow-left-outline:before{content:"\FB2E"}.mdi-account-arrow-right:before{content:"\FB2F"}.mdi-account-arrow-right-outline:before{content:"\FB30"}.mdi-account-badge:before{content:"\FD83"}.mdi-account-badge-alert:before{content:"\FD84"}.mdi-account-badge-alert-outline:before{content:"\FD85"}.mdi-account-badge-horizontal:before{content:"\FDF0"}.mdi-account-badge-horizontal-outline:before{content:"\FDF1"}.mdi-account-badge-outline:before{content:"\FD86"}.mdi-account-box:before{content:"\F006"}.mdi-account-box-multiple:before{content:"\F933"}.mdi-account-box-multiple-outline:before{content:"\F002C"}.mdi-account-box-outline:before{content:"\F007"}.mdi-account-cancel:before{content:"\F030A"}.mdi-account-cancel-outline:before{content:"\F030B"}.mdi-account-card-details:before{content:"\F5D2"}.mdi-account-card-details-outline:before{content:"\FD87"}.mdi-account-cash:before{content:"\F00C2"}.mdi-account-cash-outline:before{content:"\F00C3"}.mdi-account-check:before{content:"\F008"}.mdi-account-check-outline:before{content:"\FBBE"}.mdi-account-child:before{content:"\FA88"}.mdi-account-child-circle:before{content:"\FA89"}.mdi-account-child-outline:before{content:"\F00F3"}.mdi-account-circle:before{content:"\F009"}.mdi-account-circle-outline:before{content:"\FB31"}.mdi-account-clock:before{content:"\FB32"}.mdi-account-clock-outline:before{content:"\FB33"}.mdi-account-cog:before{content:"\F039B"}.mdi-account-cog-outline:before{content:"\F039C"}.mdi-account-convert:before{content:"\F00A"}.mdi-account-convert-outline:before{content:"\F032C"}.mdi-account-details:before{content:"\F631"}.mdi-account-details-outline:before{content:"\F039D"}.mdi-account-edit:before{content:"\F6BB"}.mdi-account-edit-outline:before{content:"\F001D"}.mdi-account-group:before{content:"\F848"}.mdi-account-group-outline:before{content:"\FB34"}.mdi-account-heart:before{content:"\F898"}.mdi-account-heart-outline:before{content:"\FBBF"}.mdi-account-key:before{content:"\F00B"}.mdi-account-key-outline:before{content:"\FBC0"}.mdi-account-lock:before{content:"\F0189"}.mdi-account-lock-outline:before{content:"\F018A"}.mdi-account-minus:before{content:"\F00D"}.mdi-account-minus-outline:before{content:"\FAEB"}.mdi-account-multiple:before{content:"\F00E"}.mdi-account-multiple-check:before{content:"\F8C4"}.mdi-account-multiple-check-outline:before{content:"\F0229"}.mdi-account-multiple-minus:before{content:"\F5D3"}.mdi-account-multiple-minus-outline:before{content:"\FBC1"}.mdi-account-multiple-outline:before{content:"\F00F"}.mdi-account-multiple-plus:before{content:"\F010"}.mdi-account-multiple-plus-outline:before{content:"\F7FF"}.mdi-account-multiple-remove:before{content:"\F0235"}.mdi-account-multiple-remove-outline:before{content:"\F0236"}.mdi-account-network:before{content:"\F011"}.mdi-account-network-outline:before{content:"\FBC2"}.mdi-account-off:before{content:"\F012"}.mdi-account-off-outline:before{content:"\FBC3"}.mdi-account-outline:before{content:"\F013"}.mdi-account-plus:before{content:"\F014"}.mdi-account-plus-outline:before{content:"\F800"}.mdi-account-question:before{content:"\FB35"}.mdi-account-question-outline:before{content:"\FB36"}.mdi-account-remove:before{content:"\F015"}.mdi-account-remove-outline:before{content:"\FAEC"}.mdi-account-search:before{content:"\F016"}.mdi-account-search-outline:before{content:"\F934"}.mdi-account-settings:before{content:"\F630"}.mdi-account-settings-outline:before{content:"\F00F4"}.mdi-account-star:before{content:"\F017"}.mdi-account-star-outline:before{content:"\FBC4"}.mdi-account-supervisor:before{content:"\FA8A"}.mdi-account-supervisor-circle:before{content:"\FA8B"}.mdi-account-supervisor-outline:before{content:"\F0158"}.mdi-account-switch:before{content:"\F019"}.mdi-account-tie:before{content:"\FCBF"}.mdi-account-tie-outline:before{content:"\F00F5"}.mdi-account-tie-voice:before{content:"\F0333"}.mdi-account-tie-voice-off:before{content:"\F0335"}.mdi-account-tie-voice-off-outline:before{content:"\F0336"}.mdi-account-tie-voice-outline:before{content:"\F0334"}.mdi-accusoft:before{content:"\F849"}.mdi-adjust:before{content:"\F01A"}.mdi-adobe:before{content:"\F935"}.mdi-adobe-acrobat:before{content:"\FFBD"}.mdi-air-conditioner:before{content:"\F01B"}.mdi-air-filter:before{content:"\FD1F"}.mdi-air-horn:before{content:"\FD88"}.mdi-air-humidifier:before{content:"\F00C4"}.mdi-air-purifier:before{content:"\FD20"}.mdi-airbag:before{content:"\FBC5"}.mdi-airballoon:before{content:"\F01C"}.mdi-airballoon-outline:before{content:"\F002D"}.mdi-airplane:before{content:"\F01D"}.mdi-airplane-landing:before{content:"\F5D4"}.mdi-airplane-off:before{content:"\F01E"}.mdi-airplane-takeoff:before{content:"\F5D5"}.mdi-airplay:before{content:"\F01F"}.mdi-airport:before{content:"\F84A"}.mdi-alarm:before{content:"\F020"}.mdi-alarm-bell:before{content:"\F78D"}.mdi-alarm-check:before{content:"\F021"}.mdi-alarm-light:before{content:"\F78E"}.mdi-alarm-light-outline:before{content:"\FBC6"}.mdi-alarm-multiple:before{content:"\F022"}.mdi-alarm-note:before{content:"\FE8E"}.mdi-alarm-note-off:before{content:"\FE8F"}.mdi-alarm-off:before{content:"\F023"}.mdi-alarm-plus:before{content:"\F024"}.mdi-alarm-snooze:before{content:"\F68D"}.mdi-album:before{content:"\F025"}.mdi-alert:before{content:"\F026"}.mdi-alert-box:before{content:"\F027"}.mdi-alert-box-outline:before{content:"\FCC0"}.mdi-alert-circle:before{content:"\F028"}.mdi-alert-circle-check:before{content:"\F0218"}.mdi-alert-circle-check-outline:before{content:"\F0219"}.mdi-alert-circle-outline:before{content:"\F5D6"}.mdi-alert-decagram:before{content:"\F6BC"}.mdi-alert-decagram-outline:before{content:"\FCC1"}.mdi-alert-octagon:before{content:"\F029"}.mdi-alert-octagon-outline:before{content:"\FCC2"}.mdi-alert-octagram:before{content:"\F766"}.mdi-alert-octagram-outline:before{content:"\FCC3"}.mdi-alert-outline:before{content:"\F02A"}.mdi-alert-rhombus:before{content:"\F01F9"}.mdi-alert-rhombus-outline:before{content:"\F01FA"}.mdi-alien:before{content:"\F899"}.mdi-alien-outline:before{content:"\F00F6"}.mdi-align-horizontal-center:before{content:"\F01EE"}.mdi-align-horizontal-left:before{content:"\F01ED"}.mdi-align-horizontal-right:before{content:"\F01EF"}.mdi-align-vertical-bottom:before{content:"\F01F0"}.mdi-align-vertical-center:before{content:"\F01F1"}.mdi-align-vertical-top:before{content:"\F01F2"}.mdi-all-inclusive:before{content:"\F6BD"}.mdi-allergy:before{content:"\F0283"}.mdi-alpha:before{content:"\F02B"}.mdi-alpha-a:before{content:"\41"}.mdi-alpha-a-box:before{content:"\FAED"}.mdi-alpha-a-box-outline:before{content:"\FBC7"}.mdi-alpha-a-circle:before{content:"\FBC8"}.mdi-alpha-a-circle-outline:before{content:"\FBC9"}.mdi-alpha-b:before{content:"\42"}.mdi-alpha-b-box:before{content:"\FAEE"}.mdi-alpha-b-box-outline:before{content:"\FBCA"}.mdi-alpha-b-circle:before{content:"\FBCB"}.mdi-alpha-b-circle-outline:before{content:"\FBCC"}.mdi-alpha-c:before{content:"\43"}.mdi-alpha-c-box:before{content:"\FAEF"}.mdi-alpha-c-box-outline:before{content:"\FBCD"}.mdi-alpha-c-circle:before{content:"\FBCE"}.mdi-alpha-c-circle-outline:before{content:"\FBCF"}.mdi-alpha-d:before{content:"\44"}.mdi-alpha-d-box:before{content:"\FAF0"}.mdi-alpha-d-box-outline:before{content:"\FBD0"}.mdi-alpha-d-circle:before{content:"\FBD1"}.mdi-alpha-d-circle-outline:before{content:"\FBD2"}.mdi-alpha-e:before{content:"\45"}.mdi-alpha-e-box:before{content:"\FAF1"}.mdi-alpha-e-box-outline:before{content:"\FBD3"}.mdi-alpha-e-circle:before{content:"\FBD4"}.mdi-alpha-e-circle-outline:before{content:"\FBD5"}.mdi-alpha-f:before{content:"\46"}.mdi-alpha-f-box:before{content:"\FAF2"}.mdi-alpha-f-box-outline:before{content:"\FBD6"}.mdi-alpha-f-circle:before{content:"\FBD7"}.mdi-alpha-f-circle-outline:before{content:"\FBD8"}.mdi-alpha-g:before{content:"\47"}.mdi-alpha-g-box:before{content:"\FAF3"}.mdi-alpha-g-box-outline:before{content:"\FBD9"}.mdi-alpha-g-circle:before{content:"\FBDA"}.mdi-alpha-g-circle-outline:before{content:"\FBDB"}.mdi-alpha-h:before{content:"\48"}.mdi-alpha-h-box:before{content:"\FAF4"}.mdi-alpha-h-box-outline:before{content:"\FBDC"}.mdi-alpha-h-circle:before{content:"\FBDD"}.mdi-alpha-h-circle-outline:before{content:"\FBDE"}.mdi-alpha-i:before{content:"\49"}.mdi-alpha-i-box:before{content:"\FAF5"}.mdi-alpha-i-box-outline:before{content:"\FBDF"}.mdi-alpha-i-circle:before{content:"\FBE0"}.mdi-alpha-i-circle-outline:before{content:"\FBE1"}.mdi-alpha-j:before{content:"\4A"}.mdi-alpha-j-box:before{content:"\FAF6"}.mdi-alpha-j-box-outline:before{content:"\FBE2"}.mdi-alpha-j-circle:before{content:"\FBE3"}.mdi-alpha-j-circle-outline:before{content:"\FBE4"}.mdi-alpha-k:before{content:"\4B"}.mdi-alpha-k-box:before{content:"\FAF7"}.mdi-alpha-k-box-outline:before{content:"\FBE5"}.mdi-alpha-k-circle:before{content:"\FBE6"}.mdi-alpha-k-circle-outline:before{content:"\FBE7"}.mdi-alpha-l:before{content:"\4C"}.mdi-alpha-l-box:before{content:"\FAF8"}.mdi-alpha-l-box-outline:before{content:"\FBE8"}.mdi-alpha-l-circle:before{content:"\FBE9"}.mdi-alpha-l-circle-outline:before{content:"\FBEA"}.mdi-alpha-m:before{content:"\4D"}.mdi-alpha-m-box:before{content:"\FAF9"}.mdi-alpha-m-box-outline:before{content:"\FBEB"}.mdi-alpha-m-circle:before{content:"\FBEC"}.mdi-alpha-m-circle-outline:before{content:"\FBED"}.mdi-alpha-n:before{content:"\4E"}.mdi-alpha-n-box:before{content:"\FAFA"}.mdi-alpha-n-box-outline:before{content:"\FBEE"}.mdi-alpha-n-circle:before{content:"\FBEF"}.mdi-alpha-n-circle-outline:before{content:"\FBF0"}.mdi-alpha-o:before{content:"\4F"}.mdi-alpha-o-box:before{content:"\FAFB"}.mdi-alpha-o-box-outline:before{content:"\FBF1"}.mdi-alpha-o-circle:before{content:"\FBF2"}.mdi-alpha-o-circle-outline:before{content:"\FBF3"}.mdi-alpha-p:before{content:"\50"}.mdi-alpha-p-box:before{content:"\FAFC"}.mdi-alpha-p-box-outline:before{content:"\FBF4"}.mdi-alpha-p-circle:before{content:"\FBF5"}.mdi-alpha-p-circle-outline:before{content:"\FBF6"}.mdi-alpha-q:before{content:"\51"}.mdi-alpha-q-box:before{content:"\FAFD"}.mdi-alpha-q-box-outline:before{content:"\FBF7"}.mdi-alpha-q-circle:before{content:"\FBF8"}.mdi-alpha-q-circle-outline:before{content:"\FBF9"}.mdi-alpha-r:before{content:"\52"}.mdi-alpha-r-box:before{content:"\FAFE"}.mdi-alpha-r-box-outline:before{content:"\FBFA"}.mdi-alpha-r-circle:before{content:"\FBFB"}.mdi-alpha-r-circle-outline:before{content:"\FBFC"}.mdi-alpha-s:before{content:"\53"}.mdi-alpha-s-box:before{content:"\FAFF"}.mdi-alpha-s-box-outline:before{content:"\FBFD"}.mdi-alpha-s-circle:before{content:"\FBFE"}.mdi-alpha-s-circle-outline:before{content:"\FBFF"}.mdi-alpha-t:before{content:"\54"}.mdi-alpha-t-box:before{content:"\FB00"}.mdi-alpha-t-box-outline:before{content:"\FC00"}.mdi-alpha-t-circle:before{content:"\FC01"}.mdi-alpha-t-circle-outline:before{content:"\FC02"}.mdi-alpha-u:before{content:"\55"}.mdi-alpha-u-box:before{content:"\FB01"}.mdi-alpha-u-box-outline:before{content:"\FC03"}.mdi-alpha-u-circle:before{content:"\FC04"}.mdi-alpha-u-circle-outline:before{content:"\FC05"}.mdi-alpha-v:before{content:"\56"}.mdi-alpha-v-box:before{content:"\FB02"}.mdi-alpha-v-box-outline:before{content:"\FC06"}.mdi-alpha-v-circle:before{content:"\FC07"}.mdi-alpha-v-circle-outline:before{content:"\FC08"}.mdi-alpha-w:before{content:"\57"}.mdi-alpha-w-box:before{content:"\FB03"}.mdi-alpha-w-box-outline:before{content:"\FC09"}.mdi-alpha-w-circle:before{content:"\FC0A"}.mdi-alpha-w-circle-outline:before{content:"\FC0B"}.mdi-alpha-x:before{content:"\58"}.mdi-alpha-x-box:before{content:"\FB04"}.mdi-alpha-x-box-outline:before{content:"\FC0C"}.mdi-alpha-x-circle:before{content:"\FC0D"}.mdi-alpha-x-circle-outline:before{content:"\FC0E"}.mdi-alpha-y:before{content:"\59"}.mdi-alpha-y-box:before{content:"\FB05"}.mdi-alpha-y-box-outline:before{content:"\FC0F"}.mdi-alpha-y-circle:before{content:"\FC10"}.mdi-alpha-y-circle-outline:before{content:"\FC11"}.mdi-alpha-z:before{content:"\5A"}.mdi-alpha-z-box:before{content:"\FB06"}.mdi-alpha-z-box-outline:before{content:"\FC12"}.mdi-alpha-z-circle:before{content:"\FC13"}.mdi-alpha-z-circle-outline:before{content:"\FC14"}.mdi-alphabet-aurebesh:before{content:"\F0357"}.mdi-alphabet-cyrillic:before{content:"\F0358"}.mdi-alphabet-greek:before{content:"\F0359"}.mdi-alphabet-latin:before{content:"\F035A"}.mdi-alphabet-piqad:before{content:"\F035B"}.mdi-alphabet-tengwar:before{content:"\F0362"}.mdi-alphabetical:before{content:"\F02C"}.mdi-alphabetical-off:before{content:"\F002E"}.mdi-alphabetical-variant:before{content:"\F002F"}.mdi-alphabetical-variant-off:before{content:"\F0030"}.mdi-altimeter:before{content:"\F5D7"}.mdi-amazon:before{content:"\F02D"}.mdi-amazon-alexa:before{content:"\F8C5"}.mdi-amazon-drive:before{content:"\F02E"}.mdi-ambulance:before{content:"\F02F"}.mdi-ammunition:before{content:"\FCC4"}.mdi-ampersand:before{content:"\FA8C"}.mdi-amplifier:before{content:"\F030"}.mdi-amplifier-off:before{content:"\F01E0"}.mdi-anchor:before{content:"\F031"}.mdi-android:before{content:"\F032"}.mdi-android-auto:before{content:"\FA8D"}.mdi-android-debug-bridge:before{content:"\F033"}.mdi-android-head:before{content:"\F78F"}.mdi-android-messages:before{content:"\FD21"}.mdi-android-studio:before{content:"\F034"}.mdi-angle-acute:before{content:"\F936"}.mdi-angle-obtuse:before{content:"\F937"}.mdi-angle-right:before{content:"\F938"}.mdi-angular:before{content:"\F6B1"}.mdi-angularjs:before{content:"\F6BE"}.mdi-animation:before{content:"\F5D8"}.mdi-animation-outline:before{content:"\FA8E"}.mdi-animation-play:before{content:"\F939"}.mdi-animation-play-outline:before{content:"\FA8F"}.mdi-ansible:before{content:"\F00C5"}.mdi-antenna:before{content:"\F0144"}.mdi-anvil:before{content:"\F89A"}.mdi-apache-kafka:before{content:"\F0031"}.mdi-api:before{content:"\F00C6"}.mdi-api-off:before{content:"\F0282"}.mdi-apple:before{content:"\F035"}.mdi-apple-finder:before{content:"\F036"}.mdi-apple-icloud:before{content:"\F038"}.mdi-apple-ios:before{content:"\F037"}.mdi-apple-keyboard-caps:before{content:"\F632"}.mdi-apple-keyboard-command:before{content:"\F633"}.mdi-apple-keyboard-control:before{content:"\F634"}.mdi-apple-keyboard-option:before{content:"\F635"}.mdi-apple-keyboard-shift:before{content:"\F636"}.mdi-apple-safari:before{content:"\F039"}.mdi-application:before{content:"\F614"}.mdi-application-export:before{content:"\FD89"}.mdi-application-import:before{content:"\FD8A"}.mdi-approximately-equal:before{content:"\FFBE"}.mdi-approximately-equal-box:before{content:"\FFBF"}.mdi-apps:before{content:"\F03B"}.mdi-apps-box:before{content:"\FD22"}.mdi-arch:before{content:"\F8C6"}.mdi-archive:before{content:"\F03C"}.mdi-archive-arrow-down:before{content:"\F0284"}.mdi-archive-arrow-down-outline:before{content:"\F0285"}.mdi-archive-arrow-up:before{content:"\F0286"}.mdi-archive-arrow-up-outline:before{content:"\F0287"}.mdi-archive-outline:before{content:"\F0239"}.mdi-arm-flex:before{content:"\F008F"}.mdi-arm-flex-outline:before{content:"\F0090"}.mdi-arrange-bring-forward:before{content:"\F03D"}.mdi-arrange-bring-to-front:before{content:"\F03E"}.mdi-arrange-send-backward:before{content:"\F03F"}.mdi-arrange-send-to-back:before{content:"\F040"}.mdi-arrow-all:before{content:"\F041"}.mdi-arrow-bottom-left:before{content:"\F042"}.mdi-arrow-bottom-left-bold-outline:before{content:"\F9B6"}.mdi-arrow-bottom-left-thick:before{content:"\F9B7"}.mdi-arrow-bottom-right:before{content:"\F043"}.mdi-arrow-bottom-right-bold-outline:before{content:"\F9B8"}.mdi-arrow-bottom-right-thick:before{content:"\F9B9"}.mdi-arrow-collapse:before{content:"\F615"}.mdi-arrow-collapse-all:before{content:"\F044"}.mdi-arrow-collapse-down:before{content:"\F791"}.mdi-arrow-collapse-horizontal:before{content:"\F84B"}.mdi-arrow-collapse-left:before{content:"\F792"}.mdi-arrow-collapse-right:before{content:"\F793"}.mdi-arrow-collapse-up:before{content:"\F794"}.mdi-arrow-collapse-vertical:before{content:"\F84C"}.mdi-arrow-decision:before{content:"\F9BA"}.mdi-arrow-decision-auto:before{content:"\F9BB"}.mdi-arrow-decision-auto-outline:before{content:"\F9BC"}.mdi-arrow-decision-outline:before{content:"\F9BD"}.mdi-arrow-down:before{content:"\F045"}.mdi-arrow-down-bold:before{content:"\F72D"}.mdi-arrow-down-bold-box:before{content:"\F72E"}.mdi-arrow-down-bold-box-outline:before{content:"\F72F"}.mdi-arrow-down-bold-circle:before{content:"\F047"}.mdi-arrow-down-bold-circle-outline:before{content:"\F048"}.mdi-arrow-down-bold-hexagon-outline:before{content:"\F049"}.mdi-arrow-down-bold-outline:before{content:"\F9BE"}.mdi-arrow-down-box:before{content:"\F6BF"}.mdi-arrow-down-circle:before{content:"\FCB7"}.mdi-arrow-down-circle-outline:before{content:"\FCB8"}.mdi-arrow-down-drop-circle:before{content:"\F04A"}.mdi-arrow-down-drop-circle-outline:before{content:"\F04B"}.mdi-arrow-down-thick:before{content:"\F046"}.mdi-arrow-expand:before{content:"\F616"}.mdi-arrow-expand-all:before{content:"\F04C"}.mdi-arrow-expand-down:before{content:"\F795"}.mdi-arrow-expand-horizontal:before{content:"\F84D"}.mdi-arrow-expand-left:before{content:"\F796"}.mdi-arrow-expand-right:before{content:"\F797"}.mdi-arrow-expand-up:before{content:"\F798"}.mdi-arrow-expand-vertical:before{content:"\F84E"}.mdi-arrow-horizontal-lock:before{content:"\F0186"}.mdi-arrow-left:before{content:"\F04D"}.mdi-arrow-left-bold:before{content:"\F730"}.mdi-arrow-left-bold-box:before{content:"\F731"}.mdi-arrow-left-bold-box-outline:before{content:"\F732"}.mdi-arrow-left-bold-circle:before{content:"\F04F"}.mdi-arrow-left-bold-circle-outline:before{content:"\F050"}.mdi-arrow-left-bold-hexagon-outline:before{content:"\F051"}.mdi-arrow-left-bold-outline:before{content:"\F9BF"}.mdi-arrow-left-box:before{content:"\F6C0"}.mdi-arrow-left-circle:before{content:"\FCB9"}.mdi-arrow-left-circle-outline:before{content:"\FCBA"}.mdi-arrow-left-drop-circle:before{content:"\F052"}.mdi-arrow-left-drop-circle-outline:before{content:"\F053"}.mdi-arrow-left-right:before{content:"\FE90"}.mdi-arrow-left-right-bold:before{content:"\FE91"}.mdi-arrow-left-right-bold-outline:before{content:"\F9C0"}.mdi-arrow-left-thick:before{content:"\F04E"}.mdi-arrow-right:before{content:"\F054"}.mdi-arrow-right-bold:before{content:"\F733"}.mdi-arrow-right-bold-box:before{content:"\F734"}.mdi-arrow-right-bold-box-outline:before{content:"\F735"}.mdi-arrow-right-bold-circle:before{content:"\F056"}.mdi-arrow-right-bold-circle-outline:before{content:"\F057"}.mdi-arrow-right-bold-hexagon-outline:before{content:"\F058"}.mdi-arrow-right-bold-outline:before{content:"\F9C1"}.mdi-arrow-right-box:before{content:"\F6C1"}.mdi-arrow-right-circle:before{content:"\FCBB"}.mdi-arrow-right-circle-outline:before{content:"\FCBC"}.mdi-arrow-right-drop-circle:before{content:"\F059"}.mdi-arrow-right-drop-circle-outline:before{content:"\F05A"}.mdi-arrow-right-thick:before{content:"\F055"}.mdi-arrow-split-horizontal:before{content:"\F93A"}.mdi-arrow-split-vertical:before{content:"\F93B"}.mdi-arrow-top-left:before{content:"\F05B"}.mdi-arrow-top-left-bold-outline:before{content:"\F9C2"}.mdi-arrow-top-left-bottom-right:before{content:"\FE92"}.mdi-arrow-top-left-bottom-right-bold:before{content:"\FE93"}.mdi-arrow-top-left-thick:before{content:"\F9C3"}.mdi-arrow-top-right:before{content:"\F05C"}.mdi-arrow-top-right-bold-outline:before{content:"\F9C4"}.mdi-arrow-top-right-bottom-left:before{content:"\FE94"}.mdi-arrow-top-right-bottom-left-bold:before{content:"\FE95"}.mdi-arrow-top-right-thick:before{content:"\F9C5"}.mdi-arrow-up:before{content:"\F05D"}.mdi-arrow-up-bold:before{content:"\F736"}.mdi-arrow-up-bold-box:before{content:"\F737"}.mdi-arrow-up-bold-box-outline:before{content:"\F738"}.mdi-arrow-up-bold-circle:before{content:"\F05F"}.mdi-arrow-up-bold-circle-outline:before{content:"\F060"}.mdi-arrow-up-bold-hexagon-outline:before{content:"\F061"}.mdi-arrow-up-bold-outline:before{content:"\F9C6"}.mdi-arrow-up-box:before{content:"\F6C2"}.mdi-arrow-up-circle:before{content:"\FCBD"}.mdi-arrow-up-circle-outline:before{content:"\FCBE"}.mdi-arrow-up-down:before{content:"\FE96"}.mdi-arrow-up-down-bold:before{content:"\FE97"}.mdi-arrow-up-down-bold-outline:before{content:"\F9C7"}.mdi-arrow-up-drop-circle:before{content:"\F062"}.mdi-arrow-up-drop-circle-outline:before{content:"\F063"}.mdi-arrow-up-thick:before{content:"\F05E"}.mdi-arrow-vertical-lock:before{content:"\F0187"}.mdi-artist:before{content:"\F802"}.mdi-artist-outline:before{content:"\FCC5"}.mdi-artstation:before{content:"\FB37"}.mdi-aspect-ratio:before{content:"\FA23"}.mdi-assistant:before{content:"\F064"}.mdi-asterisk:before{content:"\F6C3"}.mdi-at:before{content:"\F065"}.mdi-atlassian:before{content:"\F803"}.mdi-atm:before{content:"\FD23"}.mdi-atom:before{content:"\F767"}.mdi-atom-variant:before{content:"\FE98"}.mdi-attachment:before{content:"\F066"}.mdi-audio-video:before{content:"\F93C"}.mdi-audio-video-off:before{content:"\F01E1"}.mdi-audiobook:before{content:"\F067"}.mdi-augmented-reality:before{content:"\F84F"}.mdi-auto-download:before{content:"\F03A9"}.mdi-auto-fix:before{content:"\F068"}.mdi-auto-upload:before{content:"\F069"}.mdi-autorenew:before{content:"\F06A"}.mdi-av-timer:before{content:"\F06B"}.mdi-aws:before{content:"\FDF2"}.mdi-axe:before{content:"\F8C7"}.mdi-axis:before{content:"\FD24"}.mdi-axis-arrow:before{content:"\FD25"}.mdi-axis-arrow-lock:before{content:"\FD26"}.mdi-axis-lock:before{content:"\FD27"}.mdi-axis-x-arrow:before{content:"\FD28"}.mdi-axis-x-arrow-lock:before{content:"\FD29"}.mdi-axis-x-rotate-clockwise:before{content:"\FD2A"}.mdi-axis-x-rotate-counterclockwise:before{content:"\FD2B"}.mdi-axis-x-y-arrow-lock:before{content:"\FD2C"}.mdi-axis-y-arrow:before{content:"\FD2D"}.mdi-axis-y-arrow-lock:before{content:"\FD2E"}.mdi-axis-y-rotate-clockwise:before{content:"\FD2F"}.mdi-axis-y-rotate-counterclockwise:before{content:"\FD30"}.mdi-axis-z-arrow:before{content:"\FD31"}.mdi-axis-z-arrow-lock:before{content:"\FD32"}.mdi-axis-z-rotate-clockwise:before{content:"\FD33"}.mdi-axis-z-rotate-counterclockwise:before{content:"\FD34"}.mdi-azure:before{content:"\F804"}.mdi-azure-devops:before{content:"\F0091"}.mdi-babel:before{content:"\FA24"}.mdi-baby:before{content:"\F06C"}.mdi-baby-bottle:before{content:"\FF56"}.mdi-baby-bottle-outline:before{content:"\FF57"}.mdi-baby-carriage:before{content:"\F68E"}.mdi-baby-carriage-off:before{content:"\FFC0"}.mdi-baby-face:before{content:"\FE99"}.mdi-baby-face-outline:before{content:"\FE9A"}.mdi-backburger:before{content:"\F06D"}.mdi-backspace:before{content:"\F06E"}.mdi-backspace-outline:before{content:"\FB38"}.mdi-backspace-reverse:before{content:"\FE9B"}.mdi-backspace-reverse-outline:before{content:"\FE9C"}.mdi-backup-restore:before{content:"\F06F"}.mdi-bacteria:before{content:"\FEF2"}.mdi-bacteria-outline:before{content:"\FEF3"}.mdi-badminton:before{content:"\F850"}.mdi-bag-carry-on:before{content:"\FF58"}.mdi-bag-carry-on-check:before{content:"\FD41"}.mdi-bag-carry-on-off:before{content:"\FF59"}.mdi-bag-checked:before{content:"\FF5A"}.mdi-bag-personal:before{content:"\FDF3"}.mdi-bag-personal-off:before{content:"\FDF4"}.mdi-bag-personal-off-outline:before{content:"\FDF5"}.mdi-bag-personal-outline:before{content:"\FDF6"}.mdi-baguette:before{content:"\FF5B"}.mdi-balloon:before{content:"\FA25"}.mdi-ballot:before{content:"\F9C8"}.mdi-ballot-outline:before{content:"\F9C9"}.mdi-ballot-recount:before{content:"\FC15"}.mdi-ballot-recount-outline:before{content:"\FC16"}.mdi-bandage:before{content:"\FD8B"}.mdi-bandcamp:before{content:"\F674"}.mdi-bank:before{content:"\F070"}.mdi-bank-minus:before{content:"\FD8C"}.mdi-bank-outline:before{content:"\FE9D"}.mdi-bank-plus:before{content:"\FD8D"}.mdi-bank-remove:before{content:"\FD8E"}.mdi-bank-transfer:before{content:"\FA26"}.mdi-bank-transfer-in:before{content:"\FA27"}.mdi-bank-transfer-out:before{content:"\FA28"}.mdi-barcode:before{content:"\F071"}.mdi-barcode-off:before{content:"\F0261"}.mdi-barcode-scan:before{content:"\F072"}.mdi-barley:before{content:"\F073"}.mdi-barley-off:before{content:"\FB39"}.mdi-barn:before{content:"\FB3A"}.mdi-barrel:before{content:"\F074"}.mdi-baseball:before{content:"\F851"}.mdi-baseball-bat:before{content:"\F852"}.mdi-basecamp:before{content:"\F075"}.mdi-bash:before{content:"\F01AE"}.mdi-basket:before{content:"\F076"}.mdi-basket-fill:before{content:"\F077"}.mdi-basket-outline:before{content:"\F01AC"}.mdi-basket-unfill:before{content:"\F078"}.mdi-basketball:before{content:"\F805"}.mdi-basketball-hoop:before{content:"\FC17"}.mdi-basketball-hoop-outline:before{content:"\FC18"}.mdi-bat:before{content:"\FB3B"}.mdi-battery:before{content:"\F079"}.mdi-battery-10:before{content:"\F07A"}.mdi-battery-10-bluetooth:before{content:"\F93D"}.mdi-battery-20:before{content:"\F07B"}.mdi-battery-20-bluetooth:before{content:"\F93E"}.mdi-battery-30:before{content:"\F07C"}.mdi-battery-30-bluetooth:before{content:"\F93F"}.mdi-battery-40:before{content:"\F07D"}.mdi-battery-40-bluetooth:before{content:"\F940"}.mdi-battery-50:before{content:"\F07E"}.mdi-battery-50-bluetooth:before{content:"\F941"}.mdi-battery-60:before{content:"\F07F"}.mdi-battery-60-bluetooth:before{content:"\F942"}.mdi-battery-70:before{content:"\F080"}.mdi-battery-70-bluetooth:before{content:"\F943"}.mdi-battery-80:before{content:"\F081"}.mdi-battery-80-bluetooth:before{content:"\F944"}.mdi-battery-90:before{content:"\F082"}.mdi-battery-90-bluetooth:before{content:"\F945"}.mdi-battery-alert:before{content:"\F083"}.mdi-battery-alert-bluetooth:before{content:"\F946"}.mdi-battery-alert-variant:before{content:"\F00F7"}.mdi-battery-alert-variant-outline:before{content:"\F00F8"}.mdi-battery-bluetooth:before{content:"\F947"}.mdi-battery-bluetooth-variant:before{content:"\F948"}.mdi-battery-charging:before{content:"\F084"}.mdi-battery-charging-10:before{content:"\F89B"}.mdi-battery-charging-100:before{content:"\F085"}.mdi-battery-charging-20:before{content:"\F086"}.mdi-battery-charging-30:before{content:"\F087"}.mdi-battery-charging-40:before{content:"\F088"}.mdi-battery-charging-50:before{content:"\F89C"}.mdi-battery-charging-60:before{content:"\F089"}.mdi-battery-charging-70:before{content:"\F89D"}.mdi-battery-charging-80:before{content:"\F08A"}.mdi-battery-charging-90:before{content:"\F08B"}.mdi-battery-charging-high:before{content:"\F02D1"}.mdi-battery-charging-low:before{content:"\F02CF"}.mdi-battery-charging-medium:before{content:"\F02D0"}.mdi-battery-charging-outline:before{content:"\F89E"}.mdi-battery-charging-wireless:before{content:"\F806"}.mdi-battery-charging-wireless-10:before{content:"\F807"}.mdi-battery-charging-wireless-20:before{content:"\F808"}.mdi-battery-charging-wireless-30:before{content:"\F809"}.mdi-battery-charging-wireless-40:before{content:"\F80A"}.mdi-battery-charging-wireless-50:before{content:"\F80B"}.mdi-battery-charging-wireless-60:before{content:"\F80C"}.mdi-battery-charging-wireless-70:before{content:"\F80D"}.mdi-battery-charging-wireless-80:before{content:"\F80E"}.mdi-battery-charging-wireless-90:before{content:"\F80F"}.mdi-battery-charging-wireless-alert:before{content:"\F810"}.mdi-battery-charging-wireless-outline:before{content:"\F811"}.mdi-battery-heart:before{content:"\F023A"}.mdi-battery-heart-outline:before{content:"\F023B"}.mdi-battery-heart-variant:before{content:"\F023C"}.mdi-battery-high:before{content:"\F02CE"}.mdi-battery-low:before{content:"\F02CC"}.mdi-battery-medium:before{content:"\F02CD"}.mdi-battery-minus:before{content:"\F08C"}.mdi-battery-negative:before{content:"\F08D"}.mdi-battery-off:before{content:"\F0288"}.mdi-battery-off-outline:before{content:"\F0289"}.mdi-battery-outline:before{content:"\F08E"}.mdi-battery-plus:before{content:"\F08F"}.mdi-battery-positive:before{content:"\F090"}.mdi-battery-unknown:before{content:"\F091"}.mdi-battery-unknown-bluetooth:before{content:"\F949"}.mdi-battlenet:before{content:"\FB3C"}.mdi-beach:before{content:"\F092"}.mdi-beaker:before{content:"\FCC6"}.mdi-beaker-alert:before{content:"\F0254"}.mdi-beaker-alert-outline:before{content:"\F0255"}.mdi-beaker-check:before{content:"\F0256"}.mdi-beaker-check-outline:before{content:"\F0257"}.mdi-beaker-minus:before{content:"\F0258"}.mdi-beaker-minus-outline:before{content:"\F0259"}.mdi-beaker-outline:before{content:"\F68F"}.mdi-beaker-plus:before{content:"\F025A"}.mdi-beaker-plus-outline:before{content:"\F025B"}.mdi-beaker-question:before{content:"\F025C"}.mdi-beaker-question-outline:before{content:"\F025D"}.mdi-beaker-remove:before{content:"\F025E"}.mdi-beaker-remove-outline:before{content:"\F025F"}.mdi-beats:before{content:"\F097"}.mdi-bed-double:before{content:"\F0092"}.mdi-bed-double-outline:before{content:"\F0093"}.mdi-bed-empty:before{content:"\F89F"}.mdi-bed-king:before{content:"\F0094"}.mdi-bed-king-outline:before{content:"\F0095"}.mdi-bed-queen:before{content:"\F0096"}.mdi-bed-queen-outline:before{content:"\F0097"}.mdi-bed-single:before{content:"\F0098"}.mdi-bed-single-outline:before{content:"\F0099"}.mdi-bee:before{content:"\FFC1"}.mdi-bee-flower:before{content:"\FFC2"}.mdi-beehive-outline:before{content:"\F00F9"}.mdi-beer:before{content:"\F098"}.mdi-beer-outline:before{content:"\F0337"}.mdi-behance:before{content:"\F099"}.mdi-bell:before{content:"\F09A"}.mdi-bell-alert:before{content:"\FD35"}.mdi-bell-alert-outline:before{content:"\FE9E"}.mdi-bell-check:before{content:"\F0210"}.mdi-bell-check-outline:before{content:"\F0211"}.mdi-bell-circle:before{content:"\FD36"}.mdi-bell-circle-outline:before{content:"\FD37"}.mdi-bell-off:before{content:"\F09B"}.mdi-bell-off-outline:before{content:"\FA90"}.mdi-bell-outline:before{content:"\F09C"}.mdi-bell-plus:before{content:"\F09D"}.mdi-bell-plus-outline:before{content:"\FA91"}.mdi-bell-ring:before{content:"\F09E"}.mdi-bell-ring-outline:before{content:"\F09F"}.mdi-bell-sleep:before{content:"\F0A0"}.mdi-bell-sleep-outline:before{content:"\FA92"}.mdi-beta:before{content:"\F0A1"}.mdi-betamax:before{content:"\F9CA"}.mdi-biathlon:before{content:"\FDF7"}.mdi-bible:before{content:"\F0A2"}.mdi-bicycle:before{content:"\F00C7"}.mdi-bicycle-basket:before{content:"\F0260"}.mdi-bike:before{content:"\F0A3"}.mdi-bike-fast:before{content:"\F014A"}.mdi-billboard:before{content:"\F0032"}.mdi-billiards:before{content:"\FB3D"}.mdi-billiards-rack:before{content:"\FB3E"}.mdi-bing:before{content:"\F0A4"}.mdi-binoculars:before{content:"\F0A5"}.mdi-bio:before{content:"\F0A6"}.mdi-biohazard:before{content:"\F0A7"}.mdi-bitbucket:before{content:"\F0A8"}.mdi-bitcoin:before{content:"\F812"}.mdi-black-mesa:before{content:"\F0A9"}.mdi-blackberry:before{content:"\F0AA"}.mdi-blender:before{content:"\FCC7"}.mdi-blender-software:before{content:"\F0AB"}.mdi-blinds:before{content:"\F0AC"}.mdi-blinds-open:before{content:"\F0033"}.mdi-block-helper:before{content:"\F0AD"}.mdi-blogger:before{content:"\F0AE"}.mdi-blood-bag:before{content:"\FCC8"}.mdi-bluetooth:before{content:"\F0AF"}.mdi-bluetooth-audio:before{content:"\F0B0"}.mdi-bluetooth-connect:before{content:"\F0B1"}.mdi-bluetooth-off:before{content:"\F0B2"}.mdi-bluetooth-settings:before{content:"\F0B3"}.mdi-bluetooth-transfer:before{content:"\F0B4"}.mdi-blur:before{content:"\F0B5"}.mdi-blur-linear:before{content:"\F0B6"}.mdi-blur-off:before{content:"\F0B7"}.mdi-blur-radial:before{content:"\F0B8"}.mdi-bolnisi-cross:before{content:"\FCC9"}.mdi-bolt:before{content:"\FD8F"}.mdi-bomb:before{content:"\F690"}.mdi-bomb-off:before{content:"\F6C4"}.mdi-bone:before{content:"\F0B9"}.mdi-book:before{content:"\F0BA"}.mdi-book-information-variant:before{content:"\F009A"}.mdi-book-lock:before{content:"\F799"}.mdi-book-lock-open:before{content:"\F79A"}.mdi-book-minus:before{content:"\F5D9"}.mdi-book-minus-multiple:before{content:"\FA93"}.mdi-book-multiple:before{content:"\F0BB"}.mdi-book-open:before{content:"\F0BD"}.mdi-book-open-outline:before{content:"\FB3F"}.mdi-book-open-page-variant:before{content:"\F5DA"}.mdi-book-open-variant:before{content:"\F0BE"}.mdi-book-outline:before{content:"\FB40"}.mdi-book-play:before{content:"\FE9F"}.mdi-book-play-outline:before{content:"\FEA0"}.mdi-book-plus:before{content:"\F5DB"}.mdi-book-plus-multiple:before{content:"\FA94"}.mdi-book-remove:before{content:"\FA96"}.mdi-book-remove-multiple:before{content:"\FA95"}.mdi-book-search:before{content:"\FEA1"}.mdi-book-search-outline:before{content:"\FEA2"}.mdi-book-variant:before{content:"\F0BF"}.mdi-book-variant-multiple:before{content:"\F0BC"}.mdi-bookmark:before{content:"\F0C0"}.mdi-bookmark-check:before{content:"\F0C1"}.mdi-bookmark-check-outline:before{content:"\F03A6"}.mdi-bookmark-minus:before{content:"\F9CB"}.mdi-bookmark-minus-outline:before{content:"\F9CC"}.mdi-bookmark-multiple:before{content:"\FDF8"}.mdi-bookmark-multiple-outline:before{content:"\FDF9"}.mdi-bookmark-music:before{content:"\F0C2"}.mdi-bookmark-music-outline:before{content:"\F03A4"}.mdi-bookmark-off:before{content:"\F9CD"}.mdi-bookmark-off-outline:before{content:"\F9CE"}.mdi-bookmark-outline:before{content:"\F0C3"}.mdi-bookmark-plus:before{content:"\F0C5"}.mdi-bookmark-plus-outline:before{content:"\F0C4"}.mdi-bookmark-remove:before{content:"\F0C6"}.mdi-bookmark-remove-outline:before{content:"\F03A5"}.mdi-bookshelf:before{content:"\F028A"}.mdi-boom-gate:before{content:"\FEA3"}.mdi-boom-gate-alert:before{content:"\FEA4"}.mdi-boom-gate-alert-outline:before{content:"\FEA5"}.mdi-boom-gate-down:before{content:"\FEA6"}.mdi-boom-gate-down-outline:before{content:"\FEA7"}.mdi-boom-gate-outline:before{content:"\FEA8"}.mdi-boom-gate-up:before{content:"\FEA9"}.mdi-boom-gate-up-outline:before{content:"\FEAA"}.mdi-boombox:before{content:"\F5DC"}.mdi-boomerang:before{content:"\F00FA"}.mdi-bootstrap:before{content:"\F6C5"}.mdi-border-all:before{content:"\F0C7"}.mdi-border-all-variant:before{content:"\F8A0"}.mdi-border-bottom:before{content:"\F0C8"}.mdi-border-bottom-variant:before{content:"\F8A1"}.mdi-border-color:before{content:"\F0C9"}.mdi-border-horizontal:before{content:"\F0CA"}.mdi-border-inside:before{content:"\F0CB"}.mdi-border-left:before{content:"\F0CC"}.mdi-border-left-variant:before{content:"\F8A2"}.mdi-border-none:before{content:"\F0CD"}.mdi-border-none-variant:before{content:"\F8A3"}.mdi-border-outside:before{content:"\F0CE"}.mdi-border-right:before{content:"\F0CF"}.mdi-border-right-variant:before{content:"\F8A4"}.mdi-border-style:before{content:"\F0D0"}.mdi-border-top:before{content:"\F0D1"}.mdi-border-top-variant:before{content:"\F8A5"}.mdi-border-vertical:before{content:"\F0D2"}.mdi-bottle-soda:before{content:"\F009B"}.mdi-bottle-soda-classic:before{content:"\F009C"}.mdi-bottle-soda-classic-outline:before{content:"\F038E"}.mdi-bottle-soda-outline:before{content:"\F009D"}.mdi-bottle-tonic:before{content:"\F0159"}.mdi-bottle-tonic-outline:before{content:"\F015A"}.mdi-bottle-tonic-plus:before{content:"\F015B"}.mdi-bottle-tonic-plus-outline:before{content:"\F015C"}.mdi-bottle-tonic-skull:before{content:"\F015D"}.mdi-bottle-tonic-skull-outline:before{content:"\F015E"}.mdi-bottle-wine:before{content:"\F853"}.mdi-bottle-wine-outline:before{content:"\F033B"}.mdi-bow-tie:before{content:"\F677"}.mdi-bowl:before{content:"\F617"}.mdi-bowling:before{content:"\F0D3"}.mdi-box:before{content:"\F0D4"}.mdi-box-cutter:before{content:"\F0D5"}.mdi-box-shadow:before{content:"\F637"}.mdi-boxing-glove:before{content:"\FB41"}.mdi-braille:before{content:"\F9CF"}.mdi-brain:before{content:"\F9D0"}.mdi-bread-slice:before{content:"\FCCA"}.mdi-bread-slice-outline:before{content:"\FCCB"}.mdi-bridge:before{content:"\F618"}.mdi-briefcase:before{content:"\F0D6"}.mdi-briefcase-account:before{content:"\FCCC"}.mdi-briefcase-account-outline:before{content:"\FCCD"}.mdi-briefcase-check:before{content:"\F0D7"}.mdi-briefcase-check-outline:before{content:"\F0349"}.mdi-briefcase-clock:before{content:"\F00FB"}.mdi-briefcase-clock-outline:before{content:"\F00FC"}.mdi-briefcase-download:before{content:"\F0D8"}.mdi-briefcase-download-outline:before{content:"\FC19"}.mdi-briefcase-edit:before{content:"\FA97"}.mdi-briefcase-edit-outline:before{content:"\FC1A"}.mdi-briefcase-minus:before{content:"\FA29"}.mdi-briefcase-minus-outline:before{content:"\FC1B"}.mdi-briefcase-outline:before{content:"\F813"}.mdi-briefcase-plus:before{content:"\FA2A"}.mdi-briefcase-plus-outline:before{content:"\FC1C"}.mdi-briefcase-remove:before{content:"\FA2B"}.mdi-briefcase-remove-outline:before{content:"\FC1D"}.mdi-briefcase-search:before{content:"\FA2C"}.mdi-briefcase-search-outline:before{content:"\FC1E"}.mdi-briefcase-upload:before{content:"\F0D9"}.mdi-briefcase-upload-outline:before{content:"\FC1F"}.mdi-brightness-1:before{content:"\F0DA"}.mdi-brightness-2:before{content:"\F0DB"}.mdi-brightness-3:before{content:"\F0DC"}.mdi-brightness-4:before{content:"\F0DD"}.mdi-brightness-5:before{content:"\F0DE"}.mdi-brightness-6:before{content:"\F0DF"}.mdi-brightness-7:before{content:"\F0E0"}.mdi-brightness-auto:before{content:"\F0E1"}.mdi-brightness-percent:before{content:"\FCCE"}.mdi-broom:before{content:"\F0E2"}.mdi-brush:before{content:"\F0E3"}.mdi-buddhism:before{content:"\F94A"}.mdi-buffer:before{content:"\F619"}.mdi-bug:before{content:"\F0E4"}.mdi-bug-check:before{content:"\FA2D"}.mdi-bug-check-outline:before{content:"\FA2E"}.mdi-bug-outline:before{content:"\FA2F"}.mdi-bugle:before{content:"\FD90"}.mdi-bulldozer:before{content:"\FB07"}.mdi-bullet:before{content:"\FCCF"}.mdi-bulletin-board:before{content:"\F0E5"}.mdi-bullhorn:before{content:"\F0E6"}.mdi-bullhorn-outline:before{content:"\FB08"}.mdi-bullseye:before{content:"\F5DD"}.mdi-bullseye-arrow:before{content:"\F8C8"}.mdi-bulma:before{content:"\F0312"}.mdi-bunk-bed:before{content:"\F032D"}.mdi-bus:before{content:"\F0E7"}.mdi-bus-alert:before{content:"\FA98"}.mdi-bus-articulated-end:before{content:"\F79B"}.mdi-bus-articulated-front:before{content:"\F79C"}.mdi-bus-clock:before{content:"\F8C9"}.mdi-bus-double-decker:before{content:"\F79D"}.mdi-bus-marker:before{content:"\F023D"}.mdi-bus-multiple:before{content:"\FF5C"}.mdi-bus-school:before{content:"\F79E"}.mdi-bus-side:before{content:"\F79F"}.mdi-bus-stop:before{content:"\F0034"}.mdi-bus-stop-covered:before{content:"\F0035"}.mdi-bus-stop-uncovered:before{content:"\F0036"}.mdi-cached:before{content:"\F0E8"}.mdi-cactus:before{content:"\FD91"}.mdi-cake:before{content:"\F0E9"}.mdi-cake-layered:before{content:"\F0EA"}.mdi-cake-variant:before{content:"\F0EB"}.mdi-calculator:before{content:"\F0EC"}.mdi-calculator-variant:before{content:"\FA99"}.mdi-calendar:before{content:"\F0ED"}.mdi-calendar-account:before{content:"\FEF4"}.mdi-calendar-account-outline:before{content:"\FEF5"}.mdi-calendar-alert:before{content:"\FA30"}.mdi-calendar-arrow-left:before{content:"\F015F"}.mdi-calendar-arrow-right:before{content:"\F0160"}.mdi-calendar-blank:before{content:"\F0EE"}.mdi-calendar-blank-multiple:before{content:"\F009E"}.mdi-calendar-blank-outline:before{content:"\FB42"}.mdi-calendar-check:before{content:"\F0EF"}.mdi-calendar-check-outline:before{content:"\FC20"}.mdi-calendar-clock:before{content:"\F0F0"}.mdi-calendar-edit:before{content:"\F8A6"}.mdi-calendar-export:before{content:"\FB09"}.mdi-calendar-heart:before{content:"\F9D1"}.mdi-calendar-import:before{content:"\FB0A"}.mdi-calendar-minus:before{content:"\FD38"}.mdi-calendar-month:before{content:"\FDFA"}.mdi-calendar-month-outline:before{content:"\FDFB"}.mdi-calendar-multiple:before{content:"\F0F1"}.mdi-calendar-multiple-check:before{content:"\F0F2"}.mdi-calendar-multiselect:before{content:"\FA31"}.mdi-calendar-outline:before{content:"\FB43"}.mdi-calendar-plus:before{content:"\F0F3"}.mdi-calendar-question:before{content:"\F691"}.mdi-calendar-range:before{content:"\F678"}.mdi-calendar-range-outline:before{content:"\FB44"}.mdi-calendar-remove:before{content:"\F0F4"}.mdi-calendar-remove-outline:before{content:"\FC21"}.mdi-calendar-repeat:before{content:"\FEAB"}.mdi-calendar-repeat-outline:before{content:"\FEAC"}.mdi-calendar-search:before{content:"\F94B"}.mdi-calendar-star:before{content:"\F9D2"}.mdi-calendar-text:before{content:"\F0F5"}.mdi-calendar-text-outline:before{content:"\FC22"}.mdi-calendar-today:before{content:"\F0F6"}.mdi-calendar-week:before{content:"\FA32"}.mdi-calendar-week-begin:before{content:"\FA33"}.mdi-calendar-weekend:before{content:"\FEF6"}.mdi-calendar-weekend-outline:before{content:"\FEF7"}.mdi-call-made:before{content:"\F0F7"}.mdi-call-merge:before{content:"\F0F8"}.mdi-call-missed:before{content:"\F0F9"}.mdi-call-received:before{content:"\F0FA"}.mdi-call-split:before{content:"\F0FB"}.mdi-camcorder:before{content:"\F0FC"}.mdi-camcorder-box:before{content:"\F0FD"}.mdi-camcorder-box-off:before{content:"\F0FE"}.mdi-camcorder-off:before{content:"\F0FF"}.mdi-camera:before{content:"\F100"}.mdi-camera-account:before{content:"\F8CA"}.mdi-camera-burst:before{content:"\F692"}.mdi-camera-control:before{content:"\FB45"}.mdi-camera-enhance:before{content:"\F101"}.mdi-camera-enhance-outline:before{content:"\FB46"}.mdi-camera-front:before{content:"\F102"}.mdi-camera-front-variant:before{content:"\F103"}.mdi-camera-gopro:before{content:"\F7A0"}.mdi-camera-image:before{content:"\F8CB"}.mdi-camera-iris:before{content:"\F104"}.mdi-camera-metering-center:before{content:"\F7A1"}.mdi-camera-metering-matrix:before{content:"\F7A2"}.mdi-camera-metering-partial:before{content:"\F7A3"}.mdi-camera-metering-spot:before{content:"\F7A4"}.mdi-camera-off:before{content:"\F5DF"}.mdi-camera-outline:before{content:"\FD39"}.mdi-camera-party-mode:before{content:"\F105"}.mdi-camera-plus:before{content:"\FEF8"}.mdi-camera-plus-outline:before{content:"\FEF9"}.mdi-camera-rear:before{content:"\F106"}.mdi-camera-rear-variant:before{content:"\F107"}.mdi-camera-retake:before{content:"\FDFC"}.mdi-camera-retake-outline:before{content:"\FDFD"}.mdi-camera-switch:before{content:"\F108"}.mdi-camera-timer:before{content:"\F109"}.mdi-camera-wireless:before{content:"\FD92"}.mdi-camera-wireless-outline:before{content:"\FD93"}.mdi-campfire:before{content:"\FEFA"}.mdi-cancel:before{content:"\F739"}.mdi-candle:before{content:"\F5E2"}.mdi-candycane:before{content:"\F10A"}.mdi-cannabis:before{content:"\F7A5"}.mdi-caps-lock:before{content:"\FA9A"}.mdi-car:before{content:"\F10B"}.mdi-car-2-plus:before{content:"\F0037"}.mdi-car-3-plus:before{content:"\F0038"}.mdi-car-back:before{content:"\FDFE"}.mdi-car-battery:before{content:"\F10C"}.mdi-car-brake-abs:before{content:"\FC23"}.mdi-car-brake-alert:before{content:"\FC24"}.mdi-car-brake-hold:before{content:"\FD3A"}.mdi-car-brake-parking:before{content:"\FD3B"}.mdi-car-brake-retarder:before{content:"\F0039"}.mdi-car-child-seat:before{content:"\FFC3"}.mdi-car-clutch:before{content:"\F003A"}.mdi-car-connected:before{content:"\F10D"}.mdi-car-convertible:before{content:"\F7A6"}.mdi-car-coolant-level:before{content:"\F003B"}.mdi-car-cruise-control:before{content:"\FD3C"}.mdi-car-defrost-front:before{content:"\FD3D"}.mdi-car-defrost-rear:before{content:"\FD3E"}.mdi-car-door:before{content:"\FB47"}.mdi-car-door-lock:before{content:"\F00C8"}.mdi-car-electric:before{content:"\FB48"}.mdi-car-esp:before{content:"\FC25"}.mdi-car-estate:before{content:"\F7A7"}.mdi-car-hatchback:before{content:"\F7A8"}.mdi-car-info:before{content:"\F01E9"}.mdi-car-key:before{content:"\FB49"}.mdi-car-light-dimmed:before{content:"\FC26"}.mdi-car-light-fog:before{content:"\FC27"}.mdi-car-light-high:before{content:"\FC28"}.mdi-car-limousine:before{content:"\F8CC"}.mdi-car-multiple:before{content:"\FB4A"}.mdi-car-off:before{content:"\FDFF"}.mdi-car-parking-lights:before{content:"\FD3F"}.mdi-car-pickup:before{content:"\F7A9"}.mdi-car-seat:before{content:"\FFC4"}.mdi-car-seat-cooler:before{content:"\FFC5"}.mdi-car-seat-heater:before{content:"\FFC6"}.mdi-car-shift-pattern:before{content:"\FF5D"}.mdi-car-side:before{content:"\F7AA"}.mdi-car-sports:before{content:"\F7AB"}.mdi-car-tire-alert:before{content:"\FC29"}.mdi-car-traction-control:before{content:"\FD40"}.mdi-car-turbocharger:before{content:"\F003C"}.mdi-car-wash:before{content:"\F10E"}.mdi-car-windshield:before{content:"\F003D"}.mdi-car-windshield-outline:before{content:"\F003E"}.mdi-caravan:before{content:"\F7AC"}.mdi-card:before{content:"\FB4B"}.mdi-card-bulleted:before{content:"\FB4C"}.mdi-card-bulleted-off:before{content:"\FB4D"}.mdi-card-bulleted-off-outline:before{content:"\FB4E"}.mdi-card-bulleted-outline:before{content:"\FB4F"}.mdi-card-bulleted-settings:before{content:"\FB50"}.mdi-card-bulleted-settings-outline:before{content:"\FB51"}.mdi-card-outline:before{content:"\FB52"}.mdi-card-plus:before{content:"\F022A"}.mdi-card-plus-outline:before{content:"\F022B"}.mdi-card-search:before{content:"\F009F"}.mdi-card-search-outline:before{content:"\F00A0"}.mdi-card-text:before{content:"\FB53"}.mdi-card-text-outline:before{content:"\FB54"}.mdi-cards:before{content:"\F638"}.mdi-cards-club:before{content:"\F8CD"}.mdi-cards-diamond:before{content:"\F8CE"}.mdi-cards-diamond-outline:before{content:"\F003F"}.mdi-cards-heart:before{content:"\F8CF"}.mdi-cards-outline:before{content:"\F639"}.mdi-cards-playing-outline:before{content:"\F63A"}.mdi-cards-spade:before{content:"\F8D0"}.mdi-cards-variant:before{content:"\F6C6"}.mdi-carrot:before{content:"\F10F"}.mdi-cart:before{content:"\F110"}.mdi-cart-arrow-down:before{content:"\FD42"}.mdi-cart-arrow-right:before{content:"\FC2A"}.mdi-cart-arrow-up:before{content:"\FD43"}.mdi-cart-minus:before{content:"\FD44"}.mdi-cart-off:before{content:"\F66B"}.mdi-cart-outline:before{content:"\F111"}.mdi-cart-plus:before{content:"\F112"}.mdi-cart-remove:before{content:"\FD45"}.mdi-case-sensitive-alt:before{content:"\F113"}.mdi-cash:before{content:"\F114"}.mdi-cash-100:before{content:"\F115"}.mdi-cash-marker:before{content:"\FD94"}.mdi-cash-minus:before{content:"\F028B"}.mdi-cash-multiple:before{content:"\F116"}.mdi-cash-plus:before{content:"\F028C"}.mdi-cash-refund:before{content:"\FA9B"}.mdi-cash-register:before{content:"\FCD0"}.mdi-cash-remove:before{content:"\F028D"}.mdi-cash-usd:before{content:"\F01A1"}.mdi-cash-usd-outline:before{content:"\F117"}.mdi-cassette:before{content:"\F9D3"}.mdi-cast:before{content:"\F118"}.mdi-cast-audio:before{content:"\F0040"}.mdi-cast-connected:before{content:"\F119"}.mdi-cast-education:before{content:"\FE6D"}.mdi-cast-off:before{content:"\F789"}.mdi-castle:before{content:"\F11A"}.mdi-cat:before{content:"\F11B"}.mdi-cctv:before{content:"\F7AD"}.mdi-ceiling-light:before{content:"\F768"}.mdi-cellphone:before{content:"\F11C"}.mdi-cellphone-android:before{content:"\F11D"}.mdi-cellphone-arrow-down:before{content:"\F9D4"}.mdi-cellphone-basic:before{content:"\F11E"}.mdi-cellphone-dock:before{content:"\F11F"}.mdi-cellphone-erase:before{content:"\F94C"}.mdi-cellphone-information:before{content:"\FF5E"}.mdi-cellphone-iphone:before{content:"\F120"}.mdi-cellphone-key:before{content:"\F94D"}.mdi-cellphone-link:before{content:"\F121"}.mdi-cellphone-link-off:before{content:"\F122"}.mdi-cellphone-lock:before{content:"\F94E"}.mdi-cellphone-message:before{content:"\F8D2"}.mdi-cellphone-message-off:before{content:"\F00FD"}.mdi-cellphone-nfc:before{content:"\FEAD"}.mdi-cellphone-nfc-off:before{content:"\F0303"}.mdi-cellphone-off:before{content:"\F94F"}.mdi-cellphone-play:before{content:"\F0041"}.mdi-cellphone-screenshot:before{content:"\FA34"}.mdi-cellphone-settings:before{content:"\F123"}.mdi-cellphone-settings-variant:before{content:"\F950"}.mdi-cellphone-sound:before{content:"\F951"}.mdi-cellphone-text:before{content:"\F8D1"}.mdi-cellphone-wireless:before{content:"\F814"}.mdi-celtic-cross:before{content:"\FCD1"}.mdi-centos:before{content:"\F0145"}.mdi-certificate:before{content:"\F124"}.mdi-certificate-outline:before{content:"\F01B3"}.mdi-chair-rolling:before{content:"\FFBA"}.mdi-chair-school:before{content:"\F125"}.mdi-charity:before{content:"\FC2B"}.mdi-chart-arc:before{content:"\F126"}.mdi-chart-areaspline:before{content:"\F127"}.mdi-chart-areaspline-variant:before{content:"\FEAE"}.mdi-chart-bar:before{content:"\F128"}.mdi-chart-bar-stacked:before{content:"\F769"}.mdi-chart-bell-curve:before{content:"\FC2C"}.mdi-chart-bell-curve-cumulative:before{content:"\FFC7"}.mdi-chart-bubble:before{content:"\F5E3"}.mdi-chart-donut:before{content:"\F7AE"}.mdi-chart-donut-variant:before{content:"\F7AF"}.mdi-chart-gantt:before{content:"\F66C"}.mdi-chart-histogram:before{content:"\F129"}.mdi-chart-line:before{content:"\F12A"}.mdi-chart-line-stacked:before{content:"\F76A"}.mdi-chart-line-variant:before{content:"\F7B0"}.mdi-chart-multiline:before{content:"\F8D3"}.mdi-chart-multiple:before{content:"\F023E"}.mdi-chart-pie:before{content:"\F12B"}.mdi-chart-ppf:before{content:"\F03AB"}.mdi-chart-scatter-plot:before{content:"\FEAF"}.mdi-chart-scatter-plot-hexbin:before{content:"\F66D"}.mdi-chart-snakey:before{content:"\F020A"}.mdi-chart-snakey-variant:before{content:"\F020B"}.mdi-chart-timeline:before{content:"\F66E"}.mdi-chart-timeline-variant:before{content:"\FEB0"}.mdi-chart-tree:before{content:"\FEB1"}.mdi-chat:before{content:"\FB55"}.mdi-chat-alert:before{content:"\FB56"}.mdi-chat-alert-outline:before{content:"\F02F4"}.mdi-chat-outline:before{content:"\FEFB"}.mdi-chat-processing:before{content:"\FB57"}.mdi-chat-processing-outline:before{content:"\F02F5"}.mdi-chat-sleep:before{content:"\F02FC"}.mdi-chat-sleep-outline:before{content:"\F02FD"}.mdi-check:before{content:"\F12C"}.mdi-check-all:before{content:"\F12D"}.mdi-check-bold:before{content:"\FE6E"}.mdi-check-box-multiple-outline:before{content:"\FC2D"}.mdi-check-box-outline:before{content:"\FC2E"}.mdi-check-circle:before{content:"\F5E0"}.mdi-check-circle-outline:before{content:"\F5E1"}.mdi-check-decagram:before{content:"\F790"}.mdi-check-network:before{content:"\FC2F"}.mdi-check-network-outline:before{content:"\FC30"}.mdi-check-outline:before{content:"\F854"}.mdi-check-underline:before{content:"\FE70"}.mdi-check-underline-circle:before{content:"\FE71"}.mdi-check-underline-circle-outline:before{content:"\FE72"}.mdi-checkbook:before{content:"\FA9C"}.mdi-checkbox-blank:before{content:"\F12E"}.mdi-checkbox-blank-circle:before{content:"\F12F"}.mdi-checkbox-blank-circle-outline:before{content:"\F130"}.mdi-checkbox-blank-off:before{content:"\F0317"}.mdi-checkbox-blank-off-outline:before{content:"\F0318"}.mdi-checkbox-blank-outline:before{content:"\F131"}.mdi-checkbox-intermediate:before{content:"\F855"}.mdi-checkbox-marked:before{content:"\F132"}.mdi-checkbox-marked-circle:before{content:"\F133"}.mdi-checkbox-marked-circle-outline:before{content:"\F134"}.mdi-checkbox-marked-outline:before{content:"\F135"}.mdi-checkbox-multiple-blank:before{content:"\F136"}.mdi-checkbox-multiple-blank-circle:before{content:"\F63B"}.mdi-checkbox-multiple-blank-circle-outline:before{content:"\F63C"}.mdi-checkbox-multiple-blank-outline:before{content:"\F137"}.mdi-checkbox-multiple-marked:before{content:"\F138"}.mdi-checkbox-multiple-marked-circle:before{content:"\F63D"}.mdi-checkbox-multiple-marked-circle-outline:before{content:"\F63E"}.mdi-checkbox-multiple-marked-outline:before{content:"\F139"}.mdi-checkerboard:before{content:"\F13A"}.mdi-checkerboard-minus:before{content:"\F022D"}.mdi-checkerboard-plus:before{content:"\F022C"}.mdi-checkerboard-remove:before{content:"\F022E"}.mdi-cheese:before{content:"\F02E4"}.mdi-chef-hat:before{content:"\FB58"}.mdi-chemical-weapon:before{content:"\F13B"}.mdi-chess-bishop:before{content:"\F85B"}.mdi-chess-king:before{content:"\F856"}.mdi-chess-knight:before{content:"\F857"}.mdi-chess-pawn:before{content:"\F858"}.mdi-chess-queen:before{content:"\F859"}.mdi-chess-rook:before{content:"\F85A"}.mdi-chevron-double-down:before{content:"\F13C"}.mdi-chevron-double-left:before{content:"\F13D"}.mdi-chevron-double-right:before{content:"\F13E"}.mdi-chevron-double-up:before{content:"\F13F"}.mdi-chevron-down:before{content:"\F140"}.mdi-chevron-down-box:before{content:"\F9D5"}.mdi-chevron-down-box-outline:before{content:"\F9D6"}.mdi-chevron-down-circle:before{content:"\FB0B"}.mdi-chevron-down-circle-outline:before{content:"\FB0C"}.mdi-chevron-left:before{content:"\F141"}.mdi-chevron-left-box:before{content:"\F9D7"}.mdi-chevron-left-box-outline:before{content:"\F9D8"}.mdi-chevron-left-circle:before{content:"\FB0D"}.mdi-chevron-left-circle-outline:before{content:"\FB0E"}.mdi-chevron-right:before{content:"\F142"}.mdi-chevron-right-box:before{content:"\F9D9"}.mdi-chevron-right-box-outline:before{content:"\F9DA"}.mdi-chevron-right-circle:before{content:"\FB0F"}.mdi-chevron-right-circle-outline:before{content:"\FB10"}.mdi-chevron-triple-down:before{content:"\FD95"}.mdi-chevron-triple-left:before{content:"\FD96"}.mdi-chevron-triple-right:before{content:"\FD97"}.mdi-chevron-triple-up:before{content:"\FD98"}.mdi-chevron-up:before{content:"\F143"}.mdi-chevron-up-box:before{content:"\F9DB"}.mdi-chevron-up-box-outline:before{content:"\F9DC"}.mdi-chevron-up-circle:before{content:"\FB11"}.mdi-chevron-up-circle-outline:before{content:"\FB12"}.mdi-chili-hot:before{content:"\F7B1"}.mdi-chili-medium:before{content:"\F7B2"}.mdi-chili-mild:before{content:"\F7B3"}.mdi-chip:before{content:"\F61A"}.mdi-christianity:before{content:"\F952"}.mdi-christianity-outline:before{content:"\FCD2"}.mdi-church:before{content:"\F144"}.mdi-cigar:before{content:"\F01B4"}.mdi-circle:before{content:"\F764"}.mdi-circle-double:before{content:"\FEB2"}.mdi-circle-edit-outline:before{content:"\F8D4"}.mdi-circle-expand:before{content:"\FEB3"}.mdi-circle-medium:before{content:"\F9DD"}.mdi-circle-off-outline:before{content:"\F00FE"}.mdi-circle-outline:before{content:"\F765"}.mdi-circle-slice-1:before{content:"\FA9D"}.mdi-circle-slice-2:before{content:"\FA9E"}.mdi-circle-slice-3:before{content:"\FA9F"}.mdi-circle-slice-4:before{content:"\FAA0"}.mdi-circle-slice-5:before{content:"\FAA1"}.mdi-circle-slice-6:before{content:"\FAA2"}.mdi-circle-slice-7:before{content:"\FAA3"}.mdi-circle-slice-8:before{content:"\FAA4"}.mdi-circle-small:before{content:"\F9DE"}.mdi-circular-saw:before{content:"\FE73"}.mdi-cisco-webex:before{content:"\F145"}.mdi-city:before{content:"\F146"}.mdi-city-variant:before{content:"\FA35"}.mdi-city-variant-outline:before{content:"\FA36"}.mdi-clipboard:before{content:"\F147"}.mdi-clipboard-account:before{content:"\F148"}.mdi-clipboard-account-outline:before{content:"\FC31"}.mdi-clipboard-alert:before{content:"\F149"}.mdi-clipboard-alert-outline:before{content:"\FCD3"}.mdi-clipboard-arrow-down:before{content:"\F14A"}.mdi-clipboard-arrow-down-outline:before{content:"\FC32"}.mdi-clipboard-arrow-left:before{content:"\F14B"}.mdi-clipboard-arrow-left-outline:before{content:"\FCD4"}.mdi-clipboard-arrow-right:before{content:"\FCD5"}.mdi-clipboard-arrow-right-outline:before{content:"\FCD6"}.mdi-clipboard-arrow-up:before{content:"\FC33"}.mdi-clipboard-arrow-up-outline:before{content:"\FC34"}.mdi-clipboard-check:before{content:"\F14C"}.mdi-clipboard-check-multiple:before{content:"\F028E"}.mdi-clipboard-check-multiple-outline:before{content:"\F028F"}.mdi-clipboard-check-outline:before{content:"\F8A7"}.mdi-clipboard-file:before{content:"\F0290"}.mdi-clipboard-file-outline:before{content:"\F0291"}.mdi-clipboard-flow:before{content:"\F6C7"}.mdi-clipboard-flow-outline:before{content:"\F0142"}.mdi-clipboard-list:before{content:"\F00FF"}.mdi-clipboard-list-outline:before{content:"\F0100"}.mdi-clipboard-multiple:before{content:"\F0292"}.mdi-clipboard-multiple-outline:before{content:"\F0293"}.mdi-clipboard-outline:before{content:"\F14D"}.mdi-clipboard-play:before{content:"\FC35"}.mdi-clipboard-play-multiple:before{content:"\F0294"}.mdi-clipboard-play-multiple-outline:before{content:"\F0295"}.mdi-clipboard-play-outline:before{content:"\FC36"}.mdi-clipboard-plus:before{content:"\F750"}.mdi-clipboard-plus-outline:before{content:"\F034A"}.mdi-clipboard-pulse:before{content:"\F85C"}.mdi-clipboard-pulse-outline:before{content:"\F85D"}.mdi-clipboard-text:before{content:"\F14E"}.mdi-clipboard-text-multiple:before{content:"\F0296"}.mdi-clipboard-text-multiple-outline:before{content:"\F0297"}.mdi-clipboard-text-outline:before{content:"\FA37"}.mdi-clipboard-text-play:before{content:"\FC37"}.mdi-clipboard-text-play-outline:before{content:"\FC38"}.mdi-clippy:before{content:"\F14F"}.mdi-clock:before{content:"\F953"}.mdi-clock-alert:before{content:"\F954"}.mdi-clock-alert-outline:before{content:"\F5CE"}.mdi-clock-check:before{content:"\FFC8"}.mdi-clock-check-outline:before{content:"\FFC9"}.mdi-clock-digital:before{content:"\FEB4"}.mdi-clock-end:before{content:"\F151"}.mdi-clock-fast:before{content:"\F152"}.mdi-clock-in:before{content:"\F153"}.mdi-clock-out:before{content:"\F154"}.mdi-clock-outline:before{content:"\F150"}.mdi-clock-start:before{content:"\F155"}.mdi-close:before{content:"\F156"}.mdi-close-box:before{content:"\F157"}.mdi-close-box-multiple:before{content:"\FC39"}.mdi-close-box-multiple-outline:before{content:"\FC3A"}.mdi-close-box-outline:before{content:"\F158"}.mdi-close-circle:before{content:"\F159"}.mdi-close-circle-outline:before{content:"\F15A"}.mdi-close-network:before{content:"\F15B"}.mdi-close-network-outline:before{content:"\FC3B"}.mdi-close-octagon:before{content:"\F15C"}.mdi-close-octagon-outline:before{content:"\F15D"}.mdi-close-outline:before{content:"\F6C8"}.mdi-closed-caption:before{content:"\F15E"}.mdi-closed-caption-outline:before{content:"\FD99"}.mdi-cloud:before{content:"\F15F"}.mdi-cloud-alert:before{content:"\F9DF"}.mdi-cloud-braces:before{content:"\F7B4"}.mdi-cloud-check:before{content:"\F160"}.mdi-cloud-check-outline:before{content:"\F02F7"}.mdi-cloud-circle:before{content:"\F161"}.mdi-cloud-download:before{content:"\F162"}.mdi-cloud-download-outline:before{content:"\FB59"}.mdi-cloud-lock:before{content:"\F021C"}.mdi-cloud-lock-outline:before{content:"\F021D"}.mdi-cloud-off-outline:before{content:"\F164"}.mdi-cloud-outline:before{content:"\F163"}.mdi-cloud-print:before{content:"\F165"}.mdi-cloud-print-outline:before{content:"\F166"}.mdi-cloud-question:before{content:"\FA38"}.mdi-cloud-search:before{content:"\F955"}.mdi-cloud-search-outline:before{content:"\F956"}.mdi-cloud-sync:before{content:"\F63F"}.mdi-cloud-sync-outline:before{content:"\F0301"}.mdi-cloud-tags:before{content:"\F7B5"}.mdi-cloud-upload:before{content:"\F167"}.mdi-cloud-upload-outline:before{content:"\FB5A"}.mdi-clover:before{content:"\F815"}.mdi-coach-lamp:before{content:"\F0042"}.mdi-coat-rack:before{content:"\F00C9"}.mdi-code-array:before{content:"\F168"}.mdi-code-braces:before{content:"\F169"}.mdi-code-braces-box:before{content:"\F0101"}.mdi-code-brackets:before{content:"\F16A"}.mdi-code-equal:before{content:"\F16B"}.mdi-code-greater-than:before{content:"\F16C"}.mdi-code-greater-than-or-equal:before{content:"\F16D"}.mdi-code-less-than:before{content:"\F16E"}.mdi-code-less-than-or-equal:before{content:"\F16F"}.mdi-code-not-equal:before{content:"\F170"}.mdi-code-not-equal-variant:before{content:"\F171"}.mdi-code-parentheses:before{content:"\F172"}.mdi-code-parentheses-box:before{content:"\F0102"}.mdi-code-string:before{content:"\F173"}.mdi-code-tags:before{content:"\F174"}.mdi-code-tags-check:before{content:"\F693"}.mdi-codepen:before{content:"\F175"}.mdi-coffee:before{content:"\F176"}.mdi-coffee-maker:before{content:"\F00CA"}.mdi-coffee-off:before{content:"\FFCA"}.mdi-coffee-off-outline:before{content:"\FFCB"}.mdi-coffee-outline:before{content:"\F6C9"}.mdi-coffee-to-go:before{content:"\F177"}.mdi-coffee-to-go-outline:before{content:"\F0339"}.mdi-coffin:before{content:"\FB5B"}.mdi-cog-clockwise:before{content:"\F0208"}.mdi-cog-counterclockwise:before{content:"\F0209"}.mdi-cogs:before{content:"\F8D5"}.mdi-coin:before{content:"\F0196"}.mdi-coin-outline:before{content:"\F178"}.mdi-coins:before{content:"\F694"}.mdi-collage:before{content:"\F640"}.mdi-collapse-all:before{content:"\FAA5"}.mdi-collapse-all-outline:before{content:"\FAA6"}.mdi-color-helper:before{content:"\F179"}.mdi-comma:before{content:"\FE74"}.mdi-comma-box:before{content:"\FE75"}.mdi-comma-box-outline:before{content:"\FE76"}.mdi-comma-circle:before{content:"\FE77"}.mdi-comma-circle-outline:before{content:"\FE78"}.mdi-comment:before{content:"\F17A"}.mdi-comment-account:before{content:"\F17B"}.mdi-comment-account-outline:before{content:"\F17C"}.mdi-comment-alert:before{content:"\F17D"}.mdi-comment-alert-outline:before{content:"\F17E"}.mdi-comment-arrow-left:before{content:"\F9E0"}.mdi-comment-arrow-left-outline:before{content:"\F9E1"}.mdi-comment-arrow-right:before{content:"\F9E2"}.mdi-comment-arrow-right-outline:before{content:"\F9E3"}.mdi-comment-check:before{content:"\F17F"}.mdi-comment-check-outline:before{content:"\F180"}.mdi-comment-edit:before{content:"\F01EA"}.mdi-comment-edit-outline:before{content:"\F02EF"}.mdi-comment-eye:before{content:"\FA39"}.mdi-comment-eye-outline:before{content:"\FA3A"}.mdi-comment-multiple:before{content:"\F85E"}.mdi-comment-multiple-outline:before{content:"\F181"}.mdi-comment-outline:before{content:"\F182"}.mdi-comment-plus:before{content:"\F9E4"}.mdi-comment-plus-outline:before{content:"\F183"}.mdi-comment-processing:before{content:"\F184"}.mdi-comment-processing-outline:before{content:"\F185"}.mdi-comment-question:before{content:"\F816"}.mdi-comment-question-outline:before{content:"\F186"}.mdi-comment-quote:before{content:"\F0043"}.mdi-comment-quote-outline:before{content:"\F0044"}.mdi-comment-remove:before{content:"\F5DE"}.mdi-comment-remove-outline:before{content:"\F187"}.mdi-comment-search:before{content:"\FA3B"}.mdi-comment-search-outline:before{content:"\FA3C"}.mdi-comment-text:before{content:"\F188"}.mdi-comment-text-multiple:before{content:"\F85F"}.mdi-comment-text-multiple-outline:before{content:"\F860"}.mdi-comment-text-outline:before{content:"\F189"}.mdi-compare:before{content:"\F18A"}.mdi-compass:before{content:"\F18B"}.mdi-compass-off:before{content:"\FB5C"}.mdi-compass-off-outline:before{content:"\FB5D"}.mdi-compass-outline:before{content:"\F18C"}.mdi-compass-rose:before{content:"\F03AD"}.mdi-concourse-ci:before{content:"\F00CB"}.mdi-console:before{content:"\F18D"}.mdi-console-line:before{content:"\F7B6"}.mdi-console-network:before{content:"\F8A8"}.mdi-console-network-outline:before{content:"\FC3C"}.mdi-consolidate:before{content:"\F0103"}.mdi-contact-mail:before{content:"\F18E"}.mdi-contact-mail-outline:before{content:"\FEB5"}.mdi-contact-phone:before{content:"\FEB6"}.mdi-contact-phone-outline:before{content:"\FEB7"}.mdi-contactless-payment:before{content:"\FD46"}.mdi-contacts:before{content:"\F6CA"}.mdi-contain:before{content:"\FA3D"}.mdi-contain-end:before{content:"\FA3E"}.mdi-contain-start:before{content:"\FA3F"}.mdi-content-copy:before{content:"\F18F"}.mdi-content-cut:before{content:"\F190"}.mdi-content-duplicate:before{content:"\F191"}.mdi-content-paste:before{content:"\F192"}.mdi-content-save:before{content:"\F193"}.mdi-content-save-alert:before{content:"\FF5F"}.mdi-content-save-alert-outline:before{content:"\FF60"}.mdi-content-save-all:before{content:"\F194"}.mdi-content-save-all-outline:before{content:"\FF61"}.mdi-content-save-edit:before{content:"\FCD7"}.mdi-content-save-edit-outline:before{content:"\FCD8"}.mdi-content-save-move:before{content:"\FE79"}.mdi-content-save-move-outline:before{content:"\FE7A"}.mdi-content-save-outline:before{content:"\F817"}.mdi-content-save-settings:before{content:"\F61B"}.mdi-content-save-settings-outline:before{content:"\FB13"}.mdi-contrast:before{content:"\F195"}.mdi-contrast-box:before{content:"\F196"}.mdi-contrast-circle:before{content:"\F197"}.mdi-controller-classic:before{content:"\FB5E"}.mdi-controller-classic-outline:before{content:"\FB5F"}.mdi-cookie:before{content:"\F198"}.mdi-coolant-temperature:before{content:"\F3C8"}.mdi-copyright:before{content:"\F5E6"}.mdi-cordova:before{content:"\F957"}.mdi-corn:before{content:"\F7B7"}.mdi-counter:before{content:"\F199"}.mdi-cow:before{content:"\F19A"}.mdi-cowboy:before{content:"\FEB8"}.mdi-cpu-32-bit:before{content:"\FEFC"}.mdi-cpu-64-bit:before{content:"\FEFD"}.mdi-crane:before{content:"\F861"}.mdi-creation:before{content:"\F1C9"}.mdi-creative-commons:before{content:"\FD47"}.mdi-credit-card:before{content:"\F0010"}.mdi-credit-card-clock:before{content:"\FEFE"}.mdi-credit-card-clock-outline:before{content:"\FFBC"}.mdi-credit-card-marker:before{content:"\F6A7"}.mdi-credit-card-marker-outline:before{content:"\FD9A"}.mdi-credit-card-minus:before{content:"\FFCC"}.mdi-credit-card-minus-outline:before{content:"\FFCD"}.mdi-credit-card-multiple:before{content:"\F0011"}.mdi-credit-card-multiple-outline:before{content:"\F19C"}.mdi-credit-card-off:before{content:"\F0012"}.mdi-credit-card-off-outline:before{content:"\F5E4"}.mdi-credit-card-outline:before{content:"\F19B"}.mdi-credit-card-plus:before{content:"\F0013"}.mdi-credit-card-plus-outline:before{content:"\F675"}.mdi-credit-card-refund:before{content:"\F0014"}.mdi-credit-card-refund-outline:before{content:"\FAA7"}.mdi-credit-card-remove:before{content:"\FFCE"}.mdi-credit-card-remove-outline:before{content:"\FFCF"}.mdi-credit-card-scan:before{content:"\F0015"}.mdi-credit-card-scan-outline:before{content:"\F19D"}.mdi-credit-card-settings:before{content:"\F0016"}.mdi-credit-card-settings-outline:before{content:"\F8D6"}.mdi-credit-card-wireless:before{content:"\F801"}.mdi-credit-card-wireless-outline:before{content:"\FD48"}.mdi-cricket:before{content:"\FD49"}.mdi-crop:before{content:"\F19E"}.mdi-crop-free:before{content:"\F19F"}.mdi-crop-landscape:before{content:"\F1A0"}.mdi-crop-portrait:before{content:"\F1A1"}.mdi-crop-rotate:before{content:"\F695"}.mdi-crop-square:before{content:"\F1A2"}.mdi-crosshairs:before{content:"\F1A3"}.mdi-crosshairs-gps:before{content:"\F1A4"}.mdi-crosshairs-off:before{content:"\FF62"}.mdi-crosshairs-question:before{content:"\F0161"}.mdi-crown:before{content:"\F1A5"}.mdi-crown-outline:before{content:"\F01FB"}.mdi-cryengine:before{content:"\F958"}.mdi-crystal-ball:before{content:"\FB14"}.mdi-cube:before{content:"\F1A6"}.mdi-cube-outline:before{content:"\F1A7"}.mdi-cube-scan:before{content:"\FB60"}.mdi-cube-send:before{content:"\F1A8"}.mdi-cube-unfolded:before{content:"\F1A9"}.mdi-cup:before{content:"\F1AA"}.mdi-cup-off:before{content:"\F5E5"}.mdi-cup-off-outline:before{content:"\F03A8"}.mdi-cup-outline:before{content:"\F033A"}.mdi-cup-water:before{content:"\F1AB"}.mdi-cupboard:before{content:"\FF63"}.mdi-cupboard-outline:before{content:"\FF64"}.mdi-cupcake:before{content:"\F959"}.mdi-curling:before{content:"\F862"}.mdi-currency-bdt:before{content:"\F863"}.mdi-currency-brl:before{content:"\FB61"}.mdi-currency-btc:before{content:"\F1AC"}.mdi-currency-cny:before{content:"\F7B9"}.mdi-currency-eth:before{content:"\F7BA"}.mdi-currency-eur:before{content:"\F1AD"}.mdi-currency-eur-off:before{content:"\F0340"}.mdi-currency-gbp:before{content:"\F1AE"}.mdi-currency-ils:before{content:"\FC3D"}.mdi-currency-inr:before{content:"\F1AF"}.mdi-currency-jpy:before{content:"\F7BB"}.mdi-currency-krw:before{content:"\F7BC"}.mdi-currency-kzt:before{content:"\F864"}.mdi-currency-ngn:before{content:"\F1B0"}.mdi-currency-php:before{content:"\F9E5"}.mdi-currency-rial:before{content:"\FEB9"}.mdi-currency-rub:before{content:"\F1B1"}.mdi-currency-sign:before{content:"\F7BD"}.mdi-currency-try:before{content:"\F1B2"}.mdi-currency-twd:before{content:"\F7BE"}.mdi-currency-usd:before{content:"\F1B3"}.mdi-currency-usd-off:before{content:"\F679"}.mdi-current-ac:before{content:"\F95A"}.mdi-current-dc:before{content:"\F95B"}.mdi-cursor-default:before{content:"\F1B4"}.mdi-cursor-default-click:before{content:"\FCD9"}.mdi-cursor-default-click-outline:before{content:"\FCDA"}.mdi-cursor-default-gesture:before{content:"\F0152"}.mdi-cursor-default-gesture-outline:before{content:"\F0153"}.mdi-cursor-default-outline:before{content:"\F1B5"}.mdi-cursor-move:before{content:"\F1B6"}.mdi-cursor-pointer:before{content:"\F1B7"}.mdi-cursor-text:before{content:"\F5E7"}.mdi-database:before{content:"\F1B8"}.mdi-database-check:before{content:"\FAA8"}.mdi-database-edit:before{content:"\FB62"}.mdi-database-export:before{content:"\F95D"}.mdi-database-import:before{content:"\F95C"}.mdi-database-lock:before{content:"\FAA9"}.mdi-database-marker:before{content:"\F0321"}.mdi-database-minus:before{content:"\F1B9"}.mdi-database-plus:before{content:"\F1BA"}.mdi-database-refresh:before{content:"\FCDB"}.mdi-database-remove:before{content:"\FCDC"}.mdi-database-search:before{content:"\F865"}.mdi-database-settings:before{content:"\FCDD"}.mdi-death-star:before{content:"\F8D7"}.mdi-death-star-variant:before{content:"\F8D8"}.mdi-deathly-hallows:before{content:"\FB63"}.mdi-debian:before{content:"\F8D9"}.mdi-debug-step-into:before{content:"\F1BB"}.mdi-debug-step-out:before{content:"\F1BC"}.mdi-debug-step-over:before{content:"\F1BD"}.mdi-decagram:before{content:"\F76B"}.mdi-decagram-outline:before{content:"\F76C"}.mdi-decimal:before{content:"\F00CC"}.mdi-decimal-comma:before{content:"\F00CD"}.mdi-decimal-comma-decrease:before{content:"\F00CE"}.mdi-decimal-comma-increase:before{content:"\F00CF"}.mdi-decimal-decrease:before{content:"\F1BE"}.mdi-decimal-increase:before{content:"\F1BF"}.mdi-delete:before{content:"\F1C0"}.mdi-delete-alert:before{content:"\F00D0"}.mdi-delete-alert-outline:before{content:"\F00D1"}.mdi-delete-circle:before{content:"\F682"}.mdi-delete-circle-outline:before{content:"\FB64"}.mdi-delete-empty:before{content:"\F6CB"}.mdi-delete-empty-outline:before{content:"\FEBA"}.mdi-delete-forever:before{content:"\F5E8"}.mdi-delete-forever-outline:before{content:"\FB65"}.mdi-delete-off:before{content:"\F00D2"}.mdi-delete-off-outline:before{content:"\F00D3"}.mdi-delete-outline:before{content:"\F9E6"}.mdi-delete-restore:before{content:"\F818"}.mdi-delete-sweep:before{content:"\F5E9"}.mdi-delete-sweep-outline:before{content:"\FC3E"}.mdi-delete-variant:before{content:"\F1C1"}.mdi-delta:before{content:"\F1C2"}.mdi-desk:before{content:"\F0264"}.mdi-desk-lamp:before{content:"\F95E"}.mdi-deskphone:before{content:"\F1C3"}.mdi-desktop-classic:before{content:"\F7BF"}.mdi-desktop-mac:before{content:"\F1C4"}.mdi-desktop-mac-dashboard:before{content:"\F9E7"}.mdi-desktop-tower:before{content:"\F1C5"}.mdi-desktop-tower-monitor:before{content:"\FAAA"}.mdi-details:before{content:"\F1C6"}.mdi-dev-to:before{content:"\FD4A"}.mdi-developer-board:before{content:"\F696"}.mdi-deviantart:before{content:"\F1C7"}.mdi-devices:before{content:"\FFD0"}.mdi-diabetes:before{content:"\F0151"}.mdi-dialpad:before{content:"\F61C"}.mdi-diameter:before{content:"\FC3F"}.mdi-diameter-outline:before{content:"\FC40"}.mdi-diameter-variant:before{content:"\FC41"}.mdi-diamond:before{content:"\FB66"}.mdi-diamond-outline:before{content:"\FB67"}.mdi-diamond-stone:before{content:"\F1C8"}.mdi-dice-1:before{content:"\F1CA"}.mdi-dice-1-outline:before{content:"\F0175"}.mdi-dice-2:before{content:"\F1CB"}.mdi-dice-2-outline:before{content:"\F0176"}.mdi-dice-3:before{content:"\F1CC"}.mdi-dice-3-outline:before{content:"\F0177"}.mdi-dice-4:before{content:"\F1CD"}.mdi-dice-4-outline:before{content:"\F0178"}.mdi-dice-5:before{content:"\F1CE"}.mdi-dice-5-outline:before{content:"\F0179"}.mdi-dice-6:before{content:"\F1CF"}.mdi-dice-6-outline:before{content:"\F017A"}.mdi-dice-d10:before{content:"\F017E"}.mdi-dice-d10-outline:before{content:"\F76E"}.mdi-dice-d12:before{content:"\F017F"}.mdi-dice-d12-outline:before{content:"\F866"}.mdi-dice-d20:before{content:"\F0180"}.mdi-dice-d20-outline:before{content:"\F5EA"}.mdi-dice-d4:before{content:"\F017B"}.mdi-dice-d4-outline:before{content:"\F5EB"}.mdi-dice-d6:before{content:"\F017C"}.mdi-dice-d6-outline:before{content:"\F5EC"}.mdi-dice-d8:before{content:"\F017D"}.mdi-dice-d8-outline:before{content:"\F5ED"}.mdi-dice-multiple:before{content:"\F76D"}.mdi-dice-multiple-outline:before{content:"\F0181"}.mdi-dictionary:before{content:"\F61D"}.mdi-digital-ocean:before{content:"\F0262"}.mdi-dip-switch:before{content:"\F7C0"}.mdi-directions:before{content:"\F1D0"}.mdi-directions-fork:before{content:"\F641"}.mdi-disc:before{content:"\F5EE"}.mdi-disc-alert:before{content:"\F1D1"}.mdi-disc-player:before{content:"\F95F"}.mdi-discord:before{content:"\F66F"}.mdi-dishwasher:before{content:"\FAAB"}.mdi-dishwasher-alert:before{content:"\F01E3"}.mdi-dishwasher-off:before{content:"\F01E4"}.mdi-disqus:before{content:"\F1D2"}.mdi-disqus-outline:before{content:"\F1D3"}.mdi-distribute-horizontal-center:before{content:"\F01F4"}.mdi-distribute-horizontal-left:before{content:"\F01F3"}.mdi-distribute-horizontal-right:before{content:"\F01F5"}.mdi-distribute-vertical-bottom:before{content:"\F01F6"}.mdi-distribute-vertical-center:before{content:"\F01F7"}.mdi-distribute-vertical-top:before{content:"\F01F8"}.mdi-diving-flippers:before{content:"\FD9B"}.mdi-diving-helmet:before{content:"\FD9C"}.mdi-diving-scuba:before{content:"\FD9D"}.mdi-diving-scuba-flag:before{content:"\FD9E"}.mdi-diving-scuba-tank:before{content:"\FD9F"}.mdi-diving-scuba-tank-multiple:before{content:"\FDA0"}.mdi-diving-snorkel:before{content:"\FDA1"}.mdi-division:before{content:"\F1D4"}.mdi-division-box:before{content:"\F1D5"}.mdi-dlna:before{content:"\FA40"}.mdi-dna:before{content:"\F683"}.mdi-dns:before{content:"\F1D6"}.mdi-dns-outline:before{content:"\FB68"}.mdi-do-not-disturb:before{content:"\F697"}.mdi-do-not-disturb-off:before{content:"\F698"}.mdi-dock-bottom:before{content:"\F00D4"}.mdi-dock-left:before{content:"\F00D5"}.mdi-dock-right:before{content:"\F00D6"}.mdi-dock-window:before{content:"\F00D7"}.mdi-docker:before{content:"\F867"}.mdi-doctor:before{content:"\FA41"}.mdi-dog:before{content:"\FA42"}.mdi-dog-service:before{content:"\FAAC"}.mdi-dog-side:before{content:"\FA43"}.mdi-dolby:before{content:"\F6B2"}.mdi-dolly:before{content:"\FEBB"}.mdi-domain:before{content:"\F1D7"}.mdi-domain-off:before{content:"\FD4B"}.mdi-domain-plus:before{content:"\F00D8"}.mdi-domain-remove:before{content:"\F00D9"}.mdi-domino-mask:before{content:"\F0045"}.mdi-donkey:before{content:"\F7C1"}.mdi-door:before{content:"\F819"}.mdi-door-closed:before{content:"\F81A"}.mdi-door-closed-lock:before{content:"\F00DA"}.mdi-door-open:before{content:"\F81B"}.mdi-doorbell:before{content:"\F0311"}.mdi-doorbell-video:before{content:"\F868"}.mdi-dot-net:before{content:"\FAAD"}.mdi-dots-horizontal:before{content:"\F1D8"}.mdi-dots-horizontal-circle:before{content:"\F7C2"}.mdi-dots-horizontal-circle-outline:before{content:"\FB69"}.mdi-dots-vertical:before{content:"\F1D9"}.mdi-dots-vertical-circle:before{content:"\F7C3"}.mdi-dots-vertical-circle-outline:before{content:"\FB6A"}.mdi-douban:before{content:"\F699"}.mdi-download:before{content:"\F1DA"}.mdi-download-lock:before{content:"\F034B"}.mdi-download-lock-outline:before{content:"\F034C"}.mdi-download-multiple:before{content:"\F9E8"}.mdi-download-network:before{content:"\F6F3"}.mdi-download-network-outline:before{content:"\FC42"}.mdi-download-off:before{content:"\F00DB"}.mdi-download-off-outline:before{content:"\F00DC"}.mdi-download-outline:before{content:"\FB6B"}.mdi-drag:before{content:"\F1DB"}.mdi-drag-horizontal:before{content:"\F1DC"}.mdi-drag-horizontal-variant:before{content:"\F031B"}.mdi-drag-variant:before{content:"\FB6C"}.mdi-drag-vertical:before{content:"\F1DD"}.mdi-drag-vertical-variant:before{content:"\F031C"}.mdi-drama-masks:before{content:"\FCDE"}.mdi-draw:before{content:"\FF66"}.mdi-drawing:before{content:"\F1DE"}.mdi-drawing-box:before{content:"\F1DF"}.mdi-dresser:before{content:"\FF67"}.mdi-dresser-outline:before{content:"\FF68"}.mdi-dribbble:before{content:"\F1E0"}.mdi-dribbble-box:before{content:"\F1E1"}.mdi-drone:before{content:"\F1E2"}.mdi-dropbox:before{content:"\F1E3"}.mdi-drupal:before{content:"\F1E4"}.mdi-duck:before{content:"\F1E5"}.mdi-dumbbell:before{content:"\F1E6"}.mdi-dump-truck:before{content:"\FC43"}.mdi-ear-hearing:before{content:"\F7C4"}.mdi-ear-hearing-off:before{content:"\FA44"}.mdi-earth:before{content:"\F1E7"}.mdi-earth-arrow-right:before{content:"\F033C"}.mdi-earth-box:before{content:"\F6CC"}.mdi-earth-box-off:before{content:"\F6CD"}.mdi-earth-off:before{content:"\F1E8"}.mdi-edge:before{content:"\F1E9"}.mdi-edge-legacy:before{content:"\F027B"}.mdi-egg:before{content:"\FAAE"}.mdi-egg-easter:before{content:"\FAAF"}.mdi-eight-track:before{content:"\F9E9"}.mdi-eject:before{content:"\F1EA"}.mdi-eject-outline:before{content:"\FB6D"}.mdi-electric-switch:before{content:"\FEBC"}.mdi-electric-switch-closed:before{content:"\F0104"}.mdi-electron-framework:before{content:"\F0046"}.mdi-elephant:before{content:"\F7C5"}.mdi-elevation-decline:before{content:"\F1EB"}.mdi-elevation-rise:before{content:"\F1EC"}.mdi-elevator:before{content:"\F1ED"}.mdi-elevator-down:before{content:"\F02ED"}.mdi-elevator-passenger:before{content:"\F03AC"}.mdi-elevator-up:before{content:"\F02EC"}.mdi-ellipse:before{content:"\FEBD"}.mdi-ellipse-outline:before{content:"\FEBE"}.mdi-email:before{content:"\F1EE"}.mdi-email-alert:before{content:"\F6CE"}.mdi-email-alert-outline:before{content:"\FD1E"}.mdi-email-box:before{content:"\FCDF"}.mdi-email-check:before{content:"\FAB0"}.mdi-email-check-outline:before{content:"\FAB1"}.mdi-email-edit:before{content:"\FF00"}.mdi-email-edit-outline:before{content:"\FF01"}.mdi-email-lock:before{content:"\F1F1"}.mdi-email-mark-as-unread:before{content:"\FB6E"}.mdi-email-minus:before{content:"\FF02"}.mdi-email-minus-outline:before{content:"\FF03"}.mdi-email-multiple:before{content:"\FF04"}.mdi-email-multiple-outline:before{content:"\FF05"}.mdi-email-newsletter:before{content:"\FFD1"}.mdi-email-open:before{content:"\F1EF"}.mdi-email-open-multiple:before{content:"\FF06"}.mdi-email-open-multiple-outline:before{content:"\FF07"}.mdi-email-open-outline:before{content:"\F5EF"}.mdi-email-outline:before{content:"\F1F0"}.mdi-email-plus:before{content:"\F9EA"}.mdi-email-plus-outline:before{content:"\F9EB"}.mdi-email-receive:before{content:"\F0105"}.mdi-email-receive-outline:before{content:"\F0106"}.mdi-email-search:before{content:"\F960"}.mdi-email-search-outline:before{content:"\F961"}.mdi-email-send:before{content:"\F0107"}.mdi-email-send-outline:before{content:"\F0108"}.mdi-email-sync:before{content:"\F02F2"}.mdi-email-sync-outline:before{content:"\F02F3"}.mdi-email-variant:before{content:"\F5F0"}.mdi-ember:before{content:"\FB15"}.mdi-emby:before{content:"\F6B3"}.mdi-emoticon:before{content:"\FC44"}.mdi-emoticon-angry:before{content:"\FC45"}.mdi-emoticon-angry-outline:before{content:"\FC46"}.mdi-emoticon-confused:before{content:"\F0109"}.mdi-emoticon-confused-outline:before{content:"\F010A"}.mdi-emoticon-cool:before{content:"\FC47"}.mdi-emoticon-cool-outline:before{content:"\F1F3"}.mdi-emoticon-cry:before{content:"\FC48"}.mdi-emoticon-cry-outline:before{content:"\FC49"}.mdi-emoticon-dead:before{content:"\FC4A"}.mdi-emoticon-dead-outline:before{content:"\F69A"}.mdi-emoticon-devil:before{content:"\FC4B"}.mdi-emoticon-devil-outline:before{content:"\F1F4"}.mdi-emoticon-excited:before{content:"\FC4C"}.mdi-emoticon-excited-outline:before{content:"\F69B"}.mdi-emoticon-frown:before{content:"\FF69"}.mdi-emoticon-frown-outline:before{content:"\FF6A"}.mdi-emoticon-happy:before{content:"\FC4D"}.mdi-emoticon-happy-outline:before{content:"\F1F5"}.mdi-emoticon-kiss:before{content:"\FC4E"}.mdi-emoticon-kiss-outline:before{content:"\FC4F"}.mdi-emoticon-lol:before{content:"\F023F"}.mdi-emoticon-lol-outline:before{content:"\F0240"}.mdi-emoticon-neutral:before{content:"\FC50"}.mdi-emoticon-neutral-outline:before{content:"\F1F6"}.mdi-emoticon-outline:before{content:"\F1F2"}.mdi-emoticon-poop:before{content:"\F1F7"}.mdi-emoticon-poop-outline:before{content:"\FC51"}.mdi-emoticon-sad:before{content:"\FC52"}.mdi-emoticon-sad-outline:before{content:"\F1F8"}.mdi-emoticon-tongue:before{content:"\F1F9"}.mdi-emoticon-tongue-outline:before{content:"\FC53"}.mdi-emoticon-wink:before{content:"\FC54"}.mdi-emoticon-wink-outline:before{content:"\FC55"}.mdi-engine:before{content:"\F1FA"}.mdi-engine-off:before{content:"\FA45"}.mdi-engine-off-outline:before{content:"\FA46"}.mdi-engine-outline:before{content:"\F1FB"}.mdi-epsilon:before{content:"\F010B"}.mdi-equal:before{content:"\F1FC"}.mdi-equal-box:before{content:"\F1FD"}.mdi-equalizer:before{content:"\FEBF"}.mdi-equalizer-outline:before{content:"\FEC0"}.mdi-eraser:before{content:"\F1FE"}.mdi-eraser-variant:before{content:"\F642"}.mdi-escalator:before{content:"\F1FF"}.mdi-escalator-down:before{content:"\F02EB"}.mdi-escalator-up:before{content:"\F02EA"}.mdi-eslint:before{content:"\FC56"}.mdi-et:before{content:"\FAB2"}.mdi-ethereum:before{content:"\F869"}.mdi-ethernet:before{content:"\F200"}.mdi-ethernet-cable:before{content:"\F201"}.mdi-ethernet-cable-off:before{content:"\F202"}.mdi-etsy:before{content:"\F203"}.mdi-ev-station:before{content:"\F5F1"}.mdi-eventbrite:before{content:"\F7C6"}.mdi-evernote:before{content:"\F204"}.mdi-excavator:before{content:"\F0047"}.mdi-exclamation:before{content:"\F205"}.mdi-exclamation-thick:before{content:"\F0263"}.mdi-exit-run:before{content:"\FA47"}.mdi-exit-to-app:before{content:"\F206"}.mdi-expand-all:before{content:"\FAB3"}.mdi-expand-all-outline:before{content:"\FAB4"}.mdi-expansion-card:before{content:"\F8AD"}.mdi-expansion-card-variant:before{content:"\FFD2"}.mdi-exponent:before{content:"\F962"}.mdi-exponent-box:before{content:"\F963"}.mdi-export:before{content:"\F207"}.mdi-export-variant:before{content:"\FB6F"}.mdi-eye:before{content:"\F208"}.mdi-eye-check:before{content:"\FCE0"}.mdi-eye-check-outline:before{content:"\FCE1"}.mdi-eye-circle:before{content:"\FB70"}.mdi-eye-circle-outline:before{content:"\FB71"}.mdi-eye-minus:before{content:"\F0048"}.mdi-eye-minus-outline:before{content:"\F0049"}.mdi-eye-off:before{content:"\F209"}.mdi-eye-off-outline:before{content:"\F6D0"}.mdi-eye-outline:before{content:"\F6CF"}.mdi-eye-plus:before{content:"\F86A"}.mdi-eye-plus-outline:before{content:"\F86B"}.mdi-eye-settings:before{content:"\F86C"}.mdi-eye-settings-outline:before{content:"\F86D"}.mdi-eyedropper:before{content:"\F20A"}.mdi-eyedropper-variant:before{content:"\F20B"}.mdi-face:before{content:"\F643"}.mdi-face-agent:before{content:"\FD4C"}.mdi-face-outline:before{content:"\FB72"}.mdi-face-profile:before{content:"\F644"}.mdi-face-profile-woman:before{content:"\F00A1"}.mdi-face-recognition:before{content:"\FC57"}.mdi-face-woman:before{content:"\F00A2"}.mdi-face-woman-outline:before{content:"\F00A3"}.mdi-facebook:before{content:"\F20C"}.mdi-facebook-box:before{content:"\F20D"}.mdi-facebook-messenger:before{content:"\F20E"}.mdi-facebook-workplace:before{content:"\FB16"}.mdi-factory:before{content:"\F20F"}.mdi-fan:before{content:"\F210"}.mdi-fan-off:before{content:"\F81C"}.mdi-fast-forward:before{content:"\F211"}.mdi-fast-forward-10:before{content:"\FD4D"}.mdi-fast-forward-30:before{content:"\FCE2"}.mdi-fast-forward-5:before{content:"\F0223"}.mdi-fast-forward-outline:before{content:"\F6D1"}.mdi-fax:before{content:"\F212"}.mdi-feather:before{content:"\F6D2"}.mdi-feature-search:before{content:"\FA48"}.mdi-feature-search-outline:before{content:"\FA49"}.mdi-fedora:before{content:"\F8DA"}.mdi-ferris-wheel:before{content:"\FEC1"}.mdi-ferry:before{content:"\F213"}.mdi-file:before{content:"\F214"}.mdi-file-account:before{content:"\F73A"}.mdi-file-account-outline:before{content:"\F004A"}.mdi-file-alert:before{content:"\FA4A"}.mdi-file-alert-outline:before{content:"\FA4B"}.mdi-file-cabinet:before{content:"\FAB5"}.mdi-file-cad:before{content:"\FF08"}.mdi-file-cad-box:before{content:"\FF09"}.mdi-file-cancel:before{content:"\FDA2"}.mdi-file-cancel-outline:before{content:"\FDA3"}.mdi-file-certificate:before{content:"\F01B1"}.mdi-file-certificate-outline:before{content:"\F01B2"}.mdi-file-chart:before{content:"\F215"}.mdi-file-chart-outline:before{content:"\F004B"}.mdi-file-check:before{content:"\F216"}.mdi-file-check-outline:before{content:"\FE7B"}.mdi-file-clock:before{content:"\F030C"}.mdi-file-clock-outline:before{content:"\F030D"}.mdi-file-cloud:before{content:"\F217"}.mdi-file-cloud-outline:before{content:"\F004C"}.mdi-file-code:before{content:"\F22E"}.mdi-file-code-outline:before{content:"\F004D"}.mdi-file-compare:before{content:"\F8A9"}.mdi-file-delimited:before{content:"\F218"}.mdi-file-delimited-outline:before{content:"\FEC2"}.mdi-file-document:before{content:"\F219"}.mdi-file-document-box:before{content:"\F21A"}.mdi-file-document-box-check:before{content:"\FEC3"}.mdi-file-document-box-check-outline:before{content:"\FEC4"}.mdi-file-document-box-minus:before{content:"\FEC5"}.mdi-file-document-box-minus-outline:before{content:"\FEC6"}.mdi-file-document-box-multiple:before{content:"\FAB6"}.mdi-file-document-box-multiple-outline:before{content:"\FAB7"}.mdi-file-document-box-outline:before{content:"\F9EC"}.mdi-file-document-box-plus:before{content:"\FEC7"}.mdi-file-document-box-plus-outline:before{content:"\FEC8"}.mdi-file-document-box-remove:before{content:"\FEC9"}.mdi-file-document-box-remove-outline:before{content:"\FECA"}.mdi-file-document-box-search:before{content:"\FECB"}.mdi-file-document-box-search-outline:before{content:"\FECC"}.mdi-file-document-edit:before{content:"\FDA4"}.mdi-file-document-edit-outline:before{content:"\FDA5"}.mdi-file-document-outline:before{content:"\F9ED"}.mdi-file-download:before{content:"\F964"}.mdi-file-download-outline:before{content:"\F965"}.mdi-file-edit:before{content:"\F0212"}.mdi-file-edit-outline:before{content:"\F0213"}.mdi-file-excel:before{content:"\F21B"}.mdi-file-excel-box:before{content:"\F21C"}.mdi-file-excel-box-outline:before{content:"\F004E"}.mdi-file-excel-outline:before{content:"\F004F"}.mdi-file-export:before{content:"\F21D"}.mdi-file-export-outline:before{content:"\F0050"}.mdi-file-eye:before{content:"\FDA6"}.mdi-file-eye-outline:before{content:"\FDA7"}.mdi-file-find:before{content:"\F21E"}.mdi-file-find-outline:before{content:"\FB73"}.mdi-file-hidden:before{content:"\F613"}.mdi-file-image:before{content:"\F21F"}.mdi-file-image-outline:before{content:"\FECD"}.mdi-file-import:before{content:"\F220"}.mdi-file-import-outline:before{content:"\F0051"}.mdi-file-key:before{content:"\F01AF"}.mdi-file-key-outline:before{content:"\F01B0"}.mdi-file-link:before{content:"\F01A2"}.mdi-file-link-outline:before{content:"\F01A3"}.mdi-file-lock:before{content:"\F221"}.mdi-file-lock-outline:before{content:"\F0052"}.mdi-file-move:before{content:"\FAB8"}.mdi-file-move-outline:before{content:"\F0053"}.mdi-file-multiple:before{content:"\F222"}.mdi-file-multiple-outline:before{content:"\F0054"}.mdi-file-music:before{content:"\F223"}.mdi-file-music-outline:before{content:"\FE7C"}.mdi-file-outline:before{content:"\F224"}.mdi-file-pdf:before{content:"\F225"}.mdi-file-pdf-box:before{content:"\F226"}.mdi-file-pdf-box-outline:before{content:"\FFD3"}.mdi-file-pdf-outline:before{content:"\FE7D"}.mdi-file-percent:before{content:"\F81D"}.mdi-file-percent-outline:before{content:"\F0055"}.mdi-file-phone:before{content:"\F01A4"}.mdi-file-phone-outline:before{content:"\F01A5"}.mdi-file-plus:before{content:"\F751"}.mdi-file-plus-outline:before{content:"\FF0A"}.mdi-file-powerpoint:before{content:"\F227"}.mdi-file-powerpoint-box:before{content:"\F228"}.mdi-file-powerpoint-box-outline:before{content:"\F0056"}.mdi-file-powerpoint-outline:before{content:"\F0057"}.mdi-file-presentation-box:before{content:"\F229"}.mdi-file-question:before{content:"\F86E"}.mdi-file-question-outline:before{content:"\F0058"}.mdi-file-remove:before{content:"\FB74"}.mdi-file-remove-outline:before{content:"\F0059"}.mdi-file-replace:before{content:"\FB17"}.mdi-file-replace-outline:before{content:"\FB18"}.mdi-file-restore:before{content:"\F670"}.mdi-file-restore-outline:before{content:"\F005A"}.mdi-file-search:before{content:"\FC58"}.mdi-file-search-outline:before{content:"\FC59"}.mdi-file-send:before{content:"\F22A"}.mdi-file-send-outline:before{content:"\F005B"}.mdi-file-settings:before{content:"\F00A4"}.mdi-file-settings-outline:before{content:"\F00A5"}.mdi-file-settings-variant:before{content:"\F00A6"}.mdi-file-settings-variant-outline:before{content:"\F00A7"}.mdi-file-star:before{content:"\F005C"}.mdi-file-star-outline:before{content:"\F005D"}.mdi-file-swap:before{content:"\FFD4"}.mdi-file-swap-outline:before{content:"\FFD5"}.mdi-file-sync:before{content:"\F0241"}.mdi-file-sync-outline:before{content:"\F0242"}.mdi-file-table:before{content:"\FC5A"}.mdi-file-table-box:before{content:"\F010C"}.mdi-file-table-box-multiple:before{content:"\F010D"}.mdi-file-table-box-multiple-outline:before{content:"\F010E"}.mdi-file-table-box-outline:before{content:"\F010F"}.mdi-file-table-outline:before{content:"\FC5B"}.mdi-file-tree:before{content:"\F645"}.mdi-file-undo:before{content:"\F8DB"}.mdi-file-undo-outline:before{content:"\F005E"}.mdi-file-upload:before{content:"\FA4C"}.mdi-file-upload-outline:before{content:"\FA4D"}.mdi-file-video:before{content:"\F22B"}.mdi-file-video-outline:before{content:"\FE10"}.mdi-file-word:before{content:"\F22C"}.mdi-file-word-box:before{content:"\F22D"}.mdi-file-word-box-outline:before{content:"\F005F"}.mdi-file-word-outline:before{content:"\F0060"}.mdi-film:before{content:"\F22F"}.mdi-filmstrip:before{content:"\F230"}.mdi-filmstrip-off:before{content:"\F231"}.mdi-filter:before{content:"\F232"}.mdi-filter-menu:before{content:"\F0110"}.mdi-filter-menu-outline:before{content:"\F0111"}.mdi-filter-minus:before{content:"\FF0B"}.mdi-filter-minus-outline:before{content:"\FF0C"}.mdi-filter-outline:before{content:"\F233"}.mdi-filter-plus:before{content:"\FF0D"}.mdi-filter-plus-outline:before{content:"\FF0E"}.mdi-filter-remove:before{content:"\F234"}.mdi-filter-remove-outline:before{content:"\F235"}.mdi-filter-variant:before{content:"\F236"}.mdi-filter-variant-minus:before{content:"\F013D"}.mdi-filter-variant-plus:before{content:"\F013E"}.mdi-filter-variant-remove:before{content:"\F0061"}.mdi-finance:before{content:"\F81E"}.mdi-find-replace:before{content:"\F6D3"}.mdi-fingerprint:before{content:"\F237"}.mdi-fingerprint-off:before{content:"\FECE"}.mdi-fire:before{content:"\F238"}.mdi-fire-extinguisher:before{content:"\FF0F"}.mdi-fire-hydrant:before{content:"\F0162"}.mdi-fire-hydrant-alert:before{content:"\F0163"}.mdi-fire-hydrant-off:before{content:"\F0164"}.mdi-fire-truck:before{content:"\F8AA"}.mdi-firebase:before{content:"\F966"}.mdi-firefox:before{content:"\F239"}.mdi-fireplace:before{content:"\FE11"}.mdi-fireplace-off:before{content:"\FE12"}.mdi-firework:before{content:"\FE13"}.mdi-fish:before{content:"\F23A"}.mdi-fishbowl:before{content:"\FF10"}.mdi-fishbowl-outline:before{content:"\FF11"}.mdi-fit-to-page:before{content:"\FF12"}.mdi-fit-to-page-outline:before{content:"\FF13"}.mdi-flag:before{content:"\F23B"}.mdi-flag-checkered:before{content:"\F23C"}.mdi-flag-minus:before{content:"\FB75"}.mdi-flag-minus-outline:before{content:"\F00DD"}.mdi-flag-outline:before{content:"\F23D"}.mdi-flag-plus:before{content:"\FB76"}.mdi-flag-plus-outline:before{content:"\F00DE"}.mdi-flag-remove:before{content:"\FB77"}.mdi-flag-remove-outline:before{content:"\F00DF"}.mdi-flag-triangle:before{content:"\F23F"}.mdi-flag-variant:before{content:"\F240"}.mdi-flag-variant-outline:before{content:"\F23E"}.mdi-flare:before{content:"\FD4E"}.mdi-flash:before{content:"\F241"}.mdi-flash-alert:before{content:"\FF14"}.mdi-flash-alert-outline:before{content:"\FF15"}.mdi-flash-auto:before{content:"\F242"}.mdi-flash-circle:before{content:"\F81F"}.mdi-flash-off:before{content:"\F243"}.mdi-flash-outline:before{content:"\F6D4"}.mdi-flash-red-eye:before{content:"\F67A"}.mdi-flashlight:before{content:"\F244"}.mdi-flashlight-off:before{content:"\F245"}.mdi-flask:before{content:"\F093"}.mdi-flask-empty:before{content:"\F094"}.mdi-flask-empty-minus:before{content:"\F0265"}.mdi-flask-empty-minus-outline:before{content:"\F0266"}.mdi-flask-empty-outline:before{content:"\F095"}.mdi-flask-empty-plus:before{content:"\F0267"}.mdi-flask-empty-plus-outline:before{content:"\F0268"}.mdi-flask-empty-remove:before{content:"\F0269"}.mdi-flask-empty-remove-outline:before{content:"\F026A"}.mdi-flask-minus:before{content:"\F026B"}.mdi-flask-minus-outline:before{content:"\F026C"}.mdi-flask-outline:before{content:"\F096"}.mdi-flask-plus:before{content:"\F026D"}.mdi-flask-plus-outline:before{content:"\F026E"}.mdi-flask-remove:before{content:"\F026F"}.mdi-flask-remove-outline:before{content:"\F0270"}.mdi-flask-round-bottom:before{content:"\F0276"}.mdi-flask-round-bottom-empty:before{content:"\F0277"}.mdi-flask-round-bottom-empty-outline:before{content:"\F0278"}.mdi-flask-round-bottom-outline:before{content:"\F0279"}.mdi-flattr:before{content:"\F246"}.mdi-fleur-de-lis:before{content:"\F032E"}.mdi-flickr:before{content:"\FCE3"}.mdi-flip-horizontal:before{content:"\F0112"}.mdi-flip-to-back:before{content:"\F247"}.mdi-flip-to-front:before{content:"\F248"}.mdi-flip-vertical:before{content:"\F0113"}.mdi-floor-lamp:before{content:"\F8DC"}.mdi-floor-lamp-dual:before{content:"\F0062"}.mdi-floor-lamp-variant:before{content:"\F0063"}.mdi-floor-plan:before{content:"\F820"}.mdi-floppy:before{content:"\F249"}.mdi-floppy-variant:before{content:"\F9EE"}.mdi-flower:before{content:"\F24A"}.mdi-flower-outline:before{content:"\F9EF"}.mdi-flower-poppy:before{content:"\FCE4"}.mdi-flower-tulip:before{content:"\F9F0"}.mdi-flower-tulip-outline:before{content:"\F9F1"}.mdi-focus-auto:before{content:"\FF6B"}.mdi-focus-field:before{content:"\FF6C"}.mdi-focus-field-horizontal:before{content:"\FF6D"}.mdi-focus-field-vertical:before{content:"\FF6E"}.mdi-folder:before{content:"\F24B"}.mdi-folder-account:before{content:"\F24C"}.mdi-folder-account-outline:before{content:"\FB78"}.mdi-folder-alert:before{content:"\FDA8"}.mdi-folder-alert-outline:before{content:"\FDA9"}.mdi-folder-clock:before{content:"\FAB9"}.mdi-folder-clock-outline:before{content:"\FABA"}.mdi-folder-download:before{content:"\F24D"}.mdi-folder-download-outline:before{content:"\F0114"}.mdi-folder-edit:before{content:"\F8DD"}.mdi-folder-edit-outline:before{content:"\FDAA"}.mdi-folder-google-drive:before{content:"\F24E"}.mdi-folder-heart:before{content:"\F0115"}.mdi-folder-heart-outline:before{content:"\F0116"}.mdi-folder-home:before{content:"\F00E0"}.mdi-folder-home-outline:before{content:"\F00E1"}.mdi-folder-image:before{content:"\F24F"}.mdi-folder-information:before{content:"\F00E2"}.mdi-folder-information-outline:before{content:"\F00E3"}.mdi-folder-key:before{content:"\F8AB"}.mdi-folder-key-network:before{content:"\F8AC"}.mdi-folder-key-network-outline:before{content:"\FC5C"}.mdi-folder-key-outline:before{content:"\F0117"}.mdi-folder-lock:before{content:"\F250"}.mdi-folder-lock-open:before{content:"\F251"}.mdi-folder-marker:before{content:"\F0298"}.mdi-folder-marker-outline:before{content:"\F0299"}.mdi-folder-move:before{content:"\F252"}.mdi-folder-move-outline:before{content:"\F0271"}.mdi-folder-multiple:before{content:"\F253"}.mdi-folder-multiple-image:before{content:"\F254"}.mdi-folder-multiple-outline:before{content:"\F255"}.mdi-folder-music:before{content:"\F0384"}.mdi-folder-music-outline:before{content:"\F0385"}.mdi-folder-network:before{content:"\F86F"}.mdi-folder-network-outline:before{content:"\FC5D"}.mdi-folder-open:before{content:"\F76F"}.mdi-folder-open-outline:before{content:"\FDAB"}.mdi-folder-outline:before{content:"\F256"}.mdi-folder-plus:before{content:"\F257"}.mdi-folder-plus-outline:before{content:"\FB79"}.mdi-folder-pound:before{content:"\FCE5"}.mdi-folder-pound-outline:before{content:"\FCE6"}.mdi-folder-remove:before{content:"\F258"}.mdi-folder-remove-outline:before{content:"\FB7A"}.mdi-folder-search:before{content:"\F967"}.mdi-folder-search-outline:before{content:"\F968"}.mdi-folder-settings:before{content:"\F00A8"}.mdi-folder-settings-outline:before{content:"\F00A9"}.mdi-folder-settings-variant:before{content:"\F00AA"}.mdi-folder-settings-variant-outline:before{content:"\F00AB"}.mdi-folder-star:before{content:"\F69C"}.mdi-folder-star-outline:before{content:"\FB7B"}.mdi-folder-swap:before{content:"\FFD6"}.mdi-folder-swap-outline:before{content:"\FFD7"}.mdi-folder-sync:before{content:"\FCE7"}.mdi-folder-sync-outline:before{content:"\FCE8"}.mdi-folder-table:before{content:"\F030E"}.mdi-folder-table-outline:before{content:"\F030F"}.mdi-folder-text:before{content:"\FC5E"}.mdi-folder-text-outline:before{content:"\FC5F"}.mdi-folder-upload:before{content:"\F259"}.mdi-folder-upload-outline:before{content:"\F0118"}.mdi-folder-zip:before{content:"\F6EA"}.mdi-folder-zip-outline:before{content:"\F7B8"}.mdi-font-awesome:before{content:"\F03A"}.mdi-food:before{content:"\F25A"}.mdi-food-apple:before{content:"\F25B"}.mdi-food-apple-outline:before{content:"\FC60"}.mdi-food-croissant:before{content:"\F7C7"}.mdi-food-fork-drink:before{content:"\F5F2"}.mdi-food-off:before{content:"\F5F3"}.mdi-food-variant:before{content:"\F25C"}.mdi-foot-print:before{content:"\FF6F"}.mdi-football:before{content:"\F25D"}.mdi-football-australian:before{content:"\F25E"}.mdi-football-helmet:before{content:"\F25F"}.mdi-forklift:before{content:"\F7C8"}.mdi-format-align-bottom:before{content:"\F752"}.mdi-format-align-center:before{content:"\F260"}.mdi-format-align-justify:before{content:"\F261"}.mdi-format-align-left:before{content:"\F262"}.mdi-format-align-middle:before{content:"\F753"}.mdi-format-align-right:before{content:"\F263"}.mdi-format-align-top:before{content:"\F754"}.mdi-format-annotation-minus:before{content:"\FABB"}.mdi-format-annotation-plus:before{content:"\F646"}.mdi-format-bold:before{content:"\F264"}.mdi-format-clear:before{content:"\F265"}.mdi-format-color-fill:before{content:"\F266"}.mdi-format-color-highlight:before{content:"\FE14"}.mdi-format-color-marker-cancel:before{content:"\F033E"}.mdi-format-color-text:before{content:"\F69D"}.mdi-format-columns:before{content:"\F8DE"}.mdi-format-float-center:before{content:"\F267"}.mdi-format-float-left:before{content:"\F268"}.mdi-format-float-none:before{content:"\F269"}.mdi-format-float-right:before{content:"\F26A"}.mdi-format-font:before{content:"\F6D5"}.mdi-format-font-size-decrease:before{content:"\F9F2"}.mdi-format-font-size-increase:before{content:"\F9F3"}.mdi-format-header-1:before{content:"\F26B"}.mdi-format-header-2:before{content:"\F26C"}.mdi-format-header-3:before{content:"\F26D"}.mdi-format-header-4:before{content:"\F26E"}.mdi-format-header-5:before{content:"\F26F"}.mdi-format-header-6:before{content:"\F270"}.mdi-format-header-decrease:before{content:"\F271"}.mdi-format-header-equal:before{content:"\F272"}.mdi-format-header-increase:before{content:"\F273"}.mdi-format-header-pound:before{content:"\F274"}.mdi-format-horizontal-align-center:before{content:"\F61E"}.mdi-format-horizontal-align-left:before{content:"\F61F"}.mdi-format-horizontal-align-right:before{content:"\F620"}.mdi-format-indent-decrease:before{content:"\F275"}.mdi-format-indent-increase:before{content:"\F276"}.mdi-format-italic:before{content:"\F277"}.mdi-format-letter-case:before{content:"\FB19"}.mdi-format-letter-case-lower:before{content:"\FB1A"}.mdi-format-letter-case-upper:before{content:"\FB1B"}.mdi-format-letter-ends-with:before{content:"\FFD8"}.mdi-format-letter-matches:before{content:"\FFD9"}.mdi-format-letter-starts-with:before{content:"\FFDA"}.mdi-format-line-spacing:before{content:"\F278"}.mdi-format-line-style:before{content:"\F5C8"}.mdi-format-line-weight:before{content:"\F5C9"}.mdi-format-list-bulleted:before{content:"\F279"}.mdi-format-list-bulleted-square:before{content:"\FDAC"}.mdi-format-list-bulleted-triangle:before{content:"\FECF"}.mdi-format-list-bulleted-type:before{content:"\F27A"}.mdi-format-list-checkbox:before{content:"\F969"}.mdi-format-list-checks:before{content:"\F755"}.mdi-format-list-numbered:before{content:"\F27B"}.mdi-format-list-numbered-rtl:before{content:"\FCE9"}.mdi-format-list-text:before{content:"\F029A"}.mdi-format-overline:before{content:"\FED0"}.mdi-format-page-break:before{content:"\F6D6"}.mdi-format-paint:before{content:"\F27C"}.mdi-format-paragraph:before{content:"\F27D"}.mdi-format-pilcrow:before{content:"\F6D7"}.mdi-format-quote-close:before{content:"\F27E"}.mdi-format-quote-close-outline:before{content:"\F01D3"}.mdi-format-quote-open:before{content:"\F756"}.mdi-format-quote-open-outline:before{content:"\F01D2"}.mdi-format-rotate-90:before{content:"\F6A9"}.mdi-format-section:before{content:"\F69E"}.mdi-format-size:before{content:"\F27F"}.mdi-format-strikethrough:before{content:"\F280"}.mdi-format-strikethrough-variant:before{content:"\F281"}.mdi-format-subscript:before{content:"\F282"}.mdi-format-superscript:before{content:"\F283"}.mdi-format-text:before{content:"\F284"}.mdi-format-text-rotation-angle-down:before{content:"\FFDB"}.mdi-format-text-rotation-angle-up:before{content:"\FFDC"}.mdi-format-text-rotation-down:before{content:"\FD4F"}.mdi-format-text-rotation-down-vertical:before{content:"\FFDD"}.mdi-format-text-rotation-none:before{content:"\FD50"}.mdi-format-text-rotation-up:before{content:"\FFDE"}.mdi-format-text-rotation-vertical:before{content:"\FFDF"}.mdi-format-text-variant:before{content:"\FE15"}.mdi-format-text-wrapping-clip:before{content:"\FCEA"}.mdi-format-text-wrapping-overflow:before{content:"\FCEB"}.mdi-format-text-wrapping-wrap:before{content:"\FCEC"}.mdi-format-textbox:before{content:"\FCED"}.mdi-format-textdirection-l-to-r:before{content:"\F285"}.mdi-format-textdirection-r-to-l:before{content:"\F286"}.mdi-format-title:before{content:"\F5F4"}.mdi-format-underline:before{content:"\F287"}.mdi-format-vertical-align-bottom:before{content:"\F621"}.mdi-format-vertical-align-center:before{content:"\F622"}.mdi-format-vertical-align-top:before{content:"\F623"}.mdi-format-wrap-inline:before{content:"\F288"}.mdi-format-wrap-square:before{content:"\F289"}.mdi-format-wrap-tight:before{content:"\F28A"}.mdi-format-wrap-top-bottom:before{content:"\F28B"}.mdi-forum:before{content:"\F28C"}.mdi-forum-outline:before{content:"\F821"}.mdi-forward:before{content:"\F28D"}.mdi-forwardburger:before{content:"\FD51"}.mdi-fountain:before{content:"\F96A"}.mdi-fountain-pen:before{content:"\FCEE"}.mdi-fountain-pen-tip:before{content:"\FCEF"}.mdi-foursquare:before{content:"\F28E"}.mdi-freebsd:before{content:"\F8DF"}.mdi-frequently-asked-questions:before{content:"\FED1"}.mdi-fridge:before{content:"\F290"}.mdi-fridge-alert:before{content:"\F01DC"}.mdi-fridge-alert-outline:before{content:"\F01DD"}.mdi-fridge-bottom:before{content:"\F292"}.mdi-fridge-off:before{content:"\F01DA"}.mdi-fridge-off-outline:before{content:"\F01DB"}.mdi-fridge-outline:before{content:"\F28F"}.mdi-fridge-top:before{content:"\F291"}.mdi-fruit-cherries:before{content:"\F0064"}.mdi-fruit-citrus:before{content:"\F0065"}.mdi-fruit-grapes:before{content:"\F0066"}.mdi-fruit-grapes-outline:before{content:"\F0067"}.mdi-fruit-pineapple:before{content:"\F0068"}.mdi-fruit-watermelon:before{content:"\F0069"}.mdi-fuel:before{content:"\F7C9"}.mdi-fullscreen:before{content:"\F293"}.mdi-fullscreen-exit:before{content:"\F294"}.mdi-function:before{content:"\F295"}.mdi-function-variant:before{content:"\F870"}.mdi-furigana-horizontal:before{content:"\F00AC"}.mdi-furigana-vertical:before{content:"\F00AD"}.mdi-fuse:before{content:"\FC61"}.mdi-fuse-blade:before{content:"\FC62"}.mdi-gamepad:before{content:"\F296"}.mdi-gamepad-circle:before{content:"\FE16"}.mdi-gamepad-circle-down:before{content:"\FE17"}.mdi-gamepad-circle-left:before{content:"\FE18"}.mdi-gamepad-circle-outline:before{content:"\FE19"}.mdi-gamepad-circle-right:before{content:"\FE1A"}.mdi-gamepad-circle-up:before{content:"\FE1B"}.mdi-gamepad-down:before{content:"\FE1C"}.mdi-gamepad-left:before{content:"\FE1D"}.mdi-gamepad-right:before{content:"\FE1E"}.mdi-gamepad-round:before{content:"\FE1F"}.mdi-gamepad-round-down:before{content:"\FE7E"}.mdi-gamepad-round-left:before{content:"\FE7F"}.mdi-gamepad-round-outline:before{content:"\FE80"}.mdi-gamepad-round-right:before{content:"\FE81"}.mdi-gamepad-round-up:before{content:"\FE82"}.mdi-gamepad-square:before{content:"\FED2"}.mdi-gamepad-square-outline:before{content:"\FED3"}.mdi-gamepad-up:before{content:"\FE83"}.mdi-gamepad-variant:before{content:"\F297"}.mdi-gamepad-variant-outline:before{content:"\FED4"}.mdi-gamma:before{content:"\F0119"}.mdi-gantry-crane:before{content:"\FDAD"}.mdi-garage:before{content:"\F6D8"}.mdi-garage-alert:before{content:"\F871"}.mdi-garage-alert-variant:before{content:"\F0300"}.mdi-garage-open:before{content:"\F6D9"}.mdi-garage-open-variant:before{content:"\F02FF"}.mdi-garage-variant:before{content:"\F02FE"}.mdi-gas-cylinder:before{content:"\F647"}.mdi-gas-station:before{content:"\F298"}.mdi-gas-station-outline:before{content:"\FED5"}.mdi-gate:before{content:"\F299"}.mdi-gate-and:before{content:"\F8E0"}.mdi-gate-arrow-right:before{content:"\F0194"}.mdi-gate-nand:before{content:"\F8E1"}.mdi-gate-nor:before{content:"\F8E2"}.mdi-gate-not:before{content:"\F8E3"}.mdi-gate-open:before{content:"\F0195"}.mdi-gate-or:before{content:"\F8E4"}.mdi-gate-xnor:before{content:"\F8E5"}.mdi-gate-xor:before{content:"\F8E6"}.mdi-gatsby:before{content:"\FE84"}.mdi-gauge:before{content:"\F29A"}.mdi-gauge-empty:before{content:"\F872"}.mdi-gauge-full:before{content:"\F873"}.mdi-gauge-low:before{content:"\F874"}.mdi-gavel:before{content:"\F29B"}.mdi-gender-female:before{content:"\F29C"}.mdi-gender-male:before{content:"\F29D"}.mdi-gender-male-female:before{content:"\F29E"}.mdi-gender-male-female-variant:before{content:"\F016A"}.mdi-gender-non-binary:before{content:"\F016B"}.mdi-gender-transgender:before{content:"\F29F"}.mdi-gentoo:before{content:"\F8E7"}.mdi-gesture:before{content:"\F7CA"}.mdi-gesture-double-tap:before{content:"\F73B"}.mdi-gesture-pinch:before{content:"\FABC"}.mdi-gesture-spread:before{content:"\FABD"}.mdi-gesture-swipe:before{content:"\FD52"}.mdi-gesture-swipe-down:before{content:"\F73C"}.mdi-gesture-swipe-horizontal:before{content:"\FABE"}.mdi-gesture-swipe-left:before{content:"\F73D"}.mdi-gesture-swipe-right:before{content:"\F73E"}.mdi-gesture-swipe-up:before{content:"\F73F"}.mdi-gesture-swipe-vertical:before{content:"\FABF"}.mdi-gesture-tap:before{content:"\F740"}.mdi-gesture-tap-box:before{content:"\F02D4"}.mdi-gesture-tap-button:before{content:"\F02D3"}.mdi-gesture-tap-hold:before{content:"\FD53"}.mdi-gesture-two-double-tap:before{content:"\F741"}.mdi-gesture-two-tap:before{content:"\F742"}.mdi-ghost:before{content:"\F2A0"}.mdi-ghost-off:before{content:"\F9F4"}.mdi-gif:before{content:"\FD54"}.mdi-gift:before{content:"\FE85"}.mdi-gift-outline:before{content:"\F2A1"}.mdi-git:before{content:"\F2A2"}.mdi-github-box:before{content:"\F2A3"}.mdi-github-circle:before{content:"\F2A4"}.mdi-github-face:before{content:"\F6DA"}.mdi-gitlab:before{content:"\FB7C"}.mdi-glass-cocktail:before{content:"\F356"}.mdi-glass-flute:before{content:"\F2A5"}.mdi-glass-mug:before{content:"\F2A6"}.mdi-glass-mug-variant:before{content:"\F0141"}.mdi-glass-pint-outline:before{content:"\F0338"}.mdi-glass-stange:before{content:"\F2A7"}.mdi-glass-tulip:before{content:"\F2A8"}.mdi-glass-wine:before{content:"\F875"}.mdi-glassdoor:before{content:"\F2A9"}.mdi-glasses:before{content:"\F2AA"}.mdi-globe-light:before{content:"\F0302"}.mdi-globe-model:before{content:"\F8E8"}.mdi-gmail:before{content:"\F2AB"}.mdi-gnome:before{content:"\F2AC"}.mdi-go-kart:before{content:"\FD55"}.mdi-go-kart-track:before{content:"\FD56"}.mdi-gog:before{content:"\FB7D"}.mdi-gold:before{content:"\F027A"}.mdi-golf:before{content:"\F822"}.mdi-golf-cart:before{content:"\F01CF"}.mdi-golf-tee:before{content:"\F00AE"}.mdi-gondola:before{content:"\F685"}.mdi-goodreads:before{content:"\FD57"}.mdi-google:before{content:"\F2AD"}.mdi-google-adwords:before{content:"\FC63"}.mdi-google-analytics:before{content:"\F7CB"}.mdi-google-assistant:before{content:"\F7CC"}.mdi-google-cardboard:before{content:"\F2AE"}.mdi-google-chrome:before{content:"\F2AF"}.mdi-google-circles:before{content:"\F2B0"}.mdi-google-circles-communities:before{content:"\F2B1"}.mdi-google-circles-extended:before{content:"\F2B2"}.mdi-google-circles-group:before{content:"\F2B3"}.mdi-google-classroom:before{content:"\F2C0"}.mdi-google-cloud:before{content:"\F0221"}.mdi-google-controller:before{content:"\F2B4"}.mdi-google-controller-off:before{content:"\F2B5"}.mdi-google-downasaur:before{content:"\F038D"}.mdi-google-drive:before{content:"\F2B6"}.mdi-google-earth:before{content:"\F2B7"}.mdi-google-fit:before{content:"\F96B"}.mdi-google-glass:before{content:"\F2B8"}.mdi-google-hangouts:before{content:"\F2C9"}.mdi-google-home:before{content:"\F823"}.mdi-google-keep:before{content:"\F6DB"}.mdi-google-lens:before{content:"\F9F5"}.mdi-google-maps:before{content:"\F5F5"}.mdi-google-my-business:before{content:"\F006A"}.mdi-google-nearby:before{content:"\F2B9"}.mdi-google-pages:before{content:"\F2BA"}.mdi-google-photos:before{content:"\F6DC"}.mdi-google-physical-web:before{content:"\F2BB"}.mdi-google-play:before{content:"\F2BC"}.mdi-google-plus:before{content:"\F2BD"}.mdi-google-plus-box:before{content:"\F2BE"}.mdi-google-podcast:before{content:"\FED6"}.mdi-google-spreadsheet:before{content:"\F9F6"}.mdi-google-street-view:before{content:"\FC64"}.mdi-google-translate:before{content:"\F2BF"}.mdi-gradient:before{content:"\F69F"}.mdi-grain:before{content:"\FD58"}.mdi-graph:before{content:"\F006B"}.mdi-graph-outline:before{content:"\F006C"}.mdi-graphql:before{content:"\F876"}.mdi-grave-stone:before{content:"\FB7E"}.mdi-grease-pencil:before{content:"\F648"}.mdi-greater-than:before{content:"\F96C"}.mdi-greater-than-or-equal:before{content:"\F96D"}.mdi-grid:before{content:"\F2C1"}.mdi-grid-large:before{content:"\F757"}.mdi-grid-off:before{content:"\F2C2"}.mdi-grill:before{content:"\FE86"}.mdi-grill-outline:before{content:"\F01B5"}.mdi-group:before{content:"\F2C3"}.mdi-guitar-acoustic:before{content:"\F770"}.mdi-guitar-electric:before{content:"\F2C4"}.mdi-guitar-pick:before{content:"\F2C5"}.mdi-guitar-pick-outline:before{content:"\F2C6"}.mdi-guy-fawkes-mask:before{content:"\F824"}.mdi-hackernews:before{content:"\F624"}.mdi-hail:before{content:"\FAC0"}.mdi-hair-dryer:before{content:"\F011A"}.mdi-hair-dryer-outline:before{content:"\F011B"}.mdi-halloween:before{content:"\FB7F"}.mdi-hamburger:before{content:"\F684"}.mdi-hammer:before{content:"\F8E9"}.mdi-hammer-screwdriver:before{content:"\F034D"}.mdi-hammer-wrench:before{content:"\F034E"}.mdi-hand:before{content:"\FA4E"}.mdi-hand-heart:before{content:"\F011C"}.mdi-hand-left:before{content:"\FE87"}.mdi-hand-okay:before{content:"\FA4F"}.mdi-hand-peace:before{content:"\FA50"}.mdi-hand-peace-variant:before{content:"\FA51"}.mdi-hand-pointing-down:before{content:"\FA52"}.mdi-hand-pointing-left:before{content:"\FA53"}.mdi-hand-pointing-right:before{content:"\F2C7"}.mdi-hand-pointing-up:before{content:"\FA54"}.mdi-hand-right:before{content:"\FE88"}.mdi-hand-saw:before{content:"\FE89"}.mdi-handball:before{content:"\FF70"}.mdi-handcuffs:before{content:"\F0169"}.mdi-handshake:before{content:"\F0243"}.mdi-hanger:before{content:"\F2C8"}.mdi-hard-hat:before{content:"\F96E"}.mdi-harddisk:before{content:"\F2CA"}.mdi-harddisk-plus:before{content:"\F006D"}.mdi-harddisk-remove:before{content:"\F006E"}.mdi-hat-fedora:before{content:"\FB80"}.mdi-hazard-lights:before{content:"\FC65"}.mdi-hdr:before{content:"\FD59"}.mdi-hdr-off:before{content:"\FD5A"}.mdi-head:before{content:"\F0389"}.mdi-head-alert:before{content:"\F0363"}.mdi-head-alert-outline:before{content:"\F0364"}.mdi-head-check:before{content:"\F0365"}.mdi-head-check-outline:before{content:"\F0366"}.mdi-head-cog:before{content:"\F0367"}.mdi-head-cog-outline:before{content:"\F0368"}.mdi-head-dots-horizontal:before{content:"\F0369"}.mdi-head-dots-horizontal-outline:before{content:"\F036A"}.mdi-head-flash:before{content:"\F036B"}.mdi-head-flash-outline:before{content:"\F036C"}.mdi-head-heart:before{content:"\F036D"}.mdi-head-heart-outline:before{content:"\F036E"}.mdi-head-lightbulb:before{content:"\F036F"}.mdi-head-lightbulb-outline:before{content:"\F0370"}.mdi-head-minus:before{content:"\F0371"}.mdi-head-minus-outline:before{content:"\F0372"}.mdi-head-outline:before{content:"\F038A"}.mdi-head-plus:before{content:"\F0373"}.mdi-head-plus-outline:before{content:"\F0374"}.mdi-head-question:before{content:"\F0375"}.mdi-head-question-outline:before{content:"\F0376"}.mdi-head-remove:before{content:"\F0377"}.mdi-head-remove-outline:before{content:"\F0378"}.mdi-head-snowflake:before{content:"\F0379"}.mdi-head-snowflake-outline:before{content:"\F037A"}.mdi-head-sync:before{content:"\F037B"}.mdi-head-sync-outline:before{content:"\F037C"}.mdi-headphones:before{content:"\F2CB"}.mdi-headphones-bluetooth:before{content:"\F96F"}.mdi-headphones-box:before{content:"\F2CC"}.mdi-headphones-off:before{content:"\F7CD"}.mdi-headphones-settings:before{content:"\F2CD"}.mdi-headset:before{content:"\F2CE"}.mdi-headset-dock:before{content:"\F2CF"}.mdi-headset-off:before{content:"\F2D0"}.mdi-heart:before{content:"\F2D1"}.mdi-heart-box:before{content:"\F2D2"}.mdi-heart-box-outline:before{content:"\F2D3"}.mdi-heart-broken:before{content:"\F2D4"}.mdi-heart-broken-outline:before{content:"\FCF0"}.mdi-heart-circle:before{content:"\F970"}.mdi-heart-circle-outline:before{content:"\F971"}.mdi-heart-flash:before{content:"\FF16"}.mdi-heart-half:before{content:"\F6DE"}.mdi-heart-half-full:before{content:"\F6DD"}.mdi-heart-half-outline:before{content:"\F6DF"}.mdi-heart-multiple:before{content:"\FA55"}.mdi-heart-multiple-outline:before{content:"\FA56"}.mdi-heart-off:before{content:"\F758"}.mdi-heart-outline:before{content:"\F2D5"}.mdi-heart-pulse:before{content:"\F5F6"}.mdi-helicopter:before{content:"\FAC1"}.mdi-help:before{content:"\F2D6"}.mdi-help-box:before{content:"\F78A"}.mdi-help-circle:before{content:"\F2D7"}.mdi-help-circle-outline:before{content:"\F625"}.mdi-help-network:before{content:"\F6F4"}.mdi-help-network-outline:before{content:"\FC66"}.mdi-help-rhombus:before{content:"\FB81"}.mdi-help-rhombus-outline:before{content:"\FB82"}.mdi-hexadecimal:before{content:"\F02D2"}.mdi-hexagon:before{content:"\F2D8"}.mdi-hexagon-multiple:before{content:"\F6E0"}.mdi-hexagon-multiple-outline:before{content:"\F011D"}.mdi-hexagon-outline:before{content:"\F2D9"}.mdi-hexagon-slice-1:before{content:"\FAC2"}.mdi-hexagon-slice-2:before{content:"\FAC3"}.mdi-hexagon-slice-3:before{content:"\FAC4"}.mdi-hexagon-slice-4:before{content:"\FAC5"}.mdi-hexagon-slice-5:before{content:"\FAC6"}.mdi-hexagon-slice-6:before{content:"\FAC7"}.mdi-hexagram:before{content:"\FAC8"}.mdi-hexagram-outline:before{content:"\FAC9"}.mdi-high-definition:before{content:"\F7CE"}.mdi-high-definition-box:before{content:"\F877"}.mdi-highway:before{content:"\F5F7"}.mdi-hiking:before{content:"\FD5B"}.mdi-hinduism:before{content:"\F972"}.mdi-history:before{content:"\F2DA"}.mdi-hockey-puck:before{content:"\F878"}.mdi-hockey-sticks:before{content:"\F879"}.mdi-hololens:before{content:"\F2DB"}.mdi-home:before{content:"\F2DC"}.mdi-home-account:before{content:"\F825"}.mdi-home-alert:before{content:"\F87A"}.mdi-home-analytics:before{content:"\FED7"}.mdi-home-assistant:before{content:"\F7CF"}.mdi-home-automation:before{content:"\F7D0"}.mdi-home-circle:before{content:"\F7D1"}.mdi-home-circle-outline:before{content:"\F006F"}.mdi-home-city:before{content:"\FCF1"}.mdi-home-city-outline:before{content:"\FCF2"}.mdi-home-currency-usd:before{content:"\F8AE"}.mdi-home-edit:before{content:"\F0184"}.mdi-home-edit-outline:before{content:"\F0185"}.mdi-home-export-outline:before{content:"\FFB8"}.mdi-home-flood:before{content:"\FF17"}.mdi-home-floor-0:before{content:"\FDAE"}.mdi-home-floor-1:before{content:"\FD5C"}.mdi-home-floor-2:before{content:"\FD5D"}.mdi-home-floor-3:before{content:"\FD5E"}.mdi-home-floor-a:before{content:"\FD5F"}.mdi-home-floor-b:before{content:"\FD60"}.mdi-home-floor-g:before{content:"\FD61"}.mdi-home-floor-l:before{content:"\FD62"}.mdi-home-floor-negative-1:before{content:"\FDAF"}.mdi-home-group:before{content:"\FDB0"}.mdi-home-heart:before{content:"\F826"}.mdi-home-import-outline:before{content:"\FFB9"}.mdi-home-lightbulb:before{content:"\F027C"}.mdi-home-lightbulb-outline:before{content:"\F027D"}.mdi-home-lock:before{content:"\F8EA"}.mdi-home-lock-open:before{content:"\F8EB"}.mdi-home-map-marker:before{content:"\F5F8"}.mdi-home-minus:before{content:"\F973"}.mdi-home-modern:before{content:"\F2DD"}.mdi-home-outline:before{content:"\F6A0"}.mdi-home-plus:before{content:"\F974"}.mdi-home-remove:before{content:"\F0272"}.mdi-home-roof:before{content:"\F0156"}.mdi-home-thermometer:before{content:"\FF71"}.mdi-home-thermometer-outline:before{content:"\FF72"}.mdi-home-variant:before{content:"\F2DE"}.mdi-home-variant-outline:before{content:"\FB83"}.mdi-hook:before{content:"\F6E1"}.mdi-hook-off:before{content:"\F6E2"}.mdi-hops:before{content:"\F2DF"}.mdi-horizontal-rotate-clockwise:before{content:"\F011E"}.mdi-horizontal-rotate-counterclockwise:before{content:"\F011F"}.mdi-horseshoe:before{content:"\FA57"}.mdi-hospital:before{content:"\F0017"}.mdi-hospital-box:before{content:"\F2E0"}.mdi-hospital-box-outline:before{content:"\F0018"}.mdi-hospital-building:before{content:"\F2E1"}.mdi-hospital-marker:before{content:"\F2E2"}.mdi-hot-tub:before{content:"\F827"}.mdi-hotel:before{content:"\F2E3"}.mdi-houzz:before{content:"\F2E4"}.mdi-houzz-box:before{content:"\F2E5"}.mdi-hubspot:before{content:"\FCF3"}.mdi-hulu:before{content:"\F828"}.mdi-human:before{content:"\F2E6"}.mdi-human-child:before{content:"\F2E7"}.mdi-human-female:before{content:"\F649"}.mdi-human-female-boy:before{content:"\FA58"}.mdi-human-female-female:before{content:"\FA59"}.mdi-human-female-girl:before{content:"\FA5A"}.mdi-human-greeting:before{content:"\F64A"}.mdi-human-handsdown:before{content:"\F64B"}.mdi-human-handsup:before{content:"\F64C"}.mdi-human-male:before{content:"\F64D"}.mdi-human-male-boy:before{content:"\FA5B"}.mdi-human-male-female:before{content:"\F2E8"}.mdi-human-male-girl:before{content:"\FA5C"}.mdi-human-male-height:before{content:"\FF18"}.mdi-human-male-height-variant:before{content:"\FF19"}.mdi-human-male-male:before{content:"\FA5D"}.mdi-human-pregnant:before{content:"\F5CF"}.mdi-humble-bundle:before{content:"\F743"}.mdi-hvac:before{content:"\F037D"}.mdi-hydraulic-oil-level:before{content:"\F034F"}.mdi-hydraulic-oil-temperature:before{content:"\F0350"}.mdi-hydro-power:before{content:"\F0310"}.mdi-ice-cream:before{content:"\F829"}.mdi-ice-pop:before{content:"\FF1A"}.mdi-id-card:before{content:"\FFE0"}.mdi-identifier:before{content:"\FF1B"}.mdi-ideogram-cjk:before{content:"\F035C"}.mdi-ideogram-cjk-variant:before{content:"\F035D"}.mdi-iframe:before{content:"\FC67"}.mdi-iframe-array:before{content:"\F0120"}.mdi-iframe-array-outline:before{content:"\F0121"}.mdi-iframe-braces:before{content:"\F0122"}.mdi-iframe-braces-outline:before{content:"\F0123"}.mdi-iframe-outline:before{content:"\FC68"}.mdi-iframe-parentheses:before{content:"\F0124"}.mdi-iframe-parentheses-outline:before{content:"\F0125"}.mdi-iframe-variable:before{content:"\F0126"}.mdi-iframe-variable-outline:before{content:"\F0127"}.mdi-image:before{content:"\F2E9"}.mdi-image-album:before{content:"\F2EA"}.mdi-image-area:before{content:"\F2EB"}.mdi-image-area-close:before{content:"\F2EC"}.mdi-image-auto-adjust:before{content:"\FFE1"}.mdi-image-broken:before{content:"\F2ED"}.mdi-image-broken-variant:before{content:"\F2EE"}.mdi-image-edit:before{content:"\F020E"}.mdi-image-edit-outline:before{content:"\F020F"}.mdi-image-filter:before{content:"\F2EF"}.mdi-image-filter-black-white:before{content:"\F2F0"}.mdi-image-filter-center-focus:before{content:"\F2F1"}.mdi-image-filter-center-focus-strong:before{content:"\FF1C"}.mdi-image-filter-center-focus-strong-outline:before{content:"\FF1D"}.mdi-image-filter-center-focus-weak:before{content:"\F2F2"}.mdi-image-filter-drama:before{content:"\F2F3"}.mdi-image-filter-frames:before{content:"\F2F4"}.mdi-image-filter-hdr:before{content:"\F2F5"}.mdi-image-filter-none:before{content:"\F2F6"}.mdi-image-filter-tilt-shift:before{content:"\F2F7"}.mdi-image-filter-vintage:before{content:"\F2F8"}.mdi-image-frame:before{content:"\FE8A"}.mdi-image-move:before{content:"\F9F7"}.mdi-image-multiple:before{content:"\F2F9"}.mdi-image-off:before{content:"\F82A"}.mdi-image-off-outline:before{content:"\F01FC"}.mdi-image-outline:before{content:"\F975"}.mdi-image-plus:before{content:"\F87B"}.mdi-image-search:before{content:"\F976"}.mdi-image-search-outline:before{content:"\F977"}.mdi-image-size-select-actual:before{content:"\FC69"}.mdi-image-size-select-large:before{content:"\FC6A"}.mdi-image-size-select-small:before{content:"\FC6B"}.mdi-import:before{content:"\F2FA"}.mdi-inbox:before{content:"\F686"}.mdi-inbox-arrow-down:before{content:"\F2FB"}.mdi-inbox-arrow-down-outline:before{content:"\F029B"}.mdi-inbox-arrow-up:before{content:"\F3D1"}.mdi-inbox-arrow-up-outline:before{content:"\F029C"}.mdi-inbox-full:before{content:"\F029D"}.mdi-inbox-full-outline:before{content:"\F029E"}.mdi-inbox-multiple:before{content:"\F8AF"}.mdi-inbox-multiple-outline:before{content:"\FB84"}.mdi-inbox-outline:before{content:"\F029F"}.mdi-incognito:before{content:"\F5F9"}.mdi-infinity:before{content:"\F6E3"}.mdi-information:before{content:"\F2FC"}.mdi-information-outline:before{content:"\F2FD"}.mdi-information-variant:before{content:"\F64E"}.mdi-instagram:before{content:"\F2FE"}.mdi-instapaper:before{content:"\F2FF"}.mdi-instrument-triangle:before{content:"\F0070"}.mdi-internet-explorer:before{content:"\F300"}.mdi-invert-colors:before{content:"\F301"}.mdi-invert-colors-off:before{content:"\FE8B"}.mdi-iobroker:before{content:"\F0313"}.mdi-ip:before{content:"\FA5E"}.mdi-ip-network:before{content:"\FA5F"}.mdi-ip-network-outline:before{content:"\FC6C"}.mdi-ipod:before{content:"\FC6D"}.mdi-islam:before{content:"\F978"}.mdi-island:before{content:"\F0071"}.mdi-itunes:before{content:"\F676"}.mdi-iv-bag:before{content:"\F00E4"}.mdi-jabber:before{content:"\FDB1"}.mdi-jeepney:before{content:"\F302"}.mdi-jellyfish:before{content:"\FF1E"}.mdi-jellyfish-outline:before{content:"\FF1F"}.mdi-jira:before{content:"\F303"}.mdi-jquery:before{content:"\F87C"}.mdi-jsfiddle:before{content:"\F304"}.mdi-json:before{content:"\F626"}.mdi-judaism:before{content:"\F979"}.mdi-jump-rope:before{content:"\F032A"}.mdi-kabaddi:before{content:"\FD63"}.mdi-karate:before{content:"\F82B"}.mdi-keg:before{content:"\F305"}.mdi-kettle:before{content:"\F5FA"}.mdi-kettle-alert:before{content:"\F0342"}.mdi-kettle-alert-outline:before{content:"\F0343"}.mdi-kettle-off:before{content:"\F0346"}.mdi-kettle-off-outline:before{content:"\F0347"}.mdi-kettle-outline:before{content:"\FF73"}.mdi-kettle-steam:before{content:"\F0344"}.mdi-kettle-steam-outline:before{content:"\F0345"}.mdi-kettlebell:before{content:"\F032B"}.mdi-key:before{content:"\F306"}.mdi-key-arrow-right:before{content:"\F033D"}.mdi-key-change:before{content:"\F307"}.mdi-key-link:before{content:"\F01CA"}.mdi-key-minus:before{content:"\F308"}.mdi-key-outline:before{content:"\FDB2"}.mdi-key-plus:before{content:"\F309"}.mdi-key-remove:before{content:"\F30A"}.mdi-key-star:before{content:"\F01C9"}.mdi-key-variant:before{content:"\F30B"}.mdi-key-wireless:before{content:"\FFE2"}.mdi-keyboard:before{content:"\F30C"}.mdi-keyboard-backspace:before{content:"\F30D"}.mdi-keyboard-caps:before{content:"\F30E"}.mdi-keyboard-close:before{content:"\F30F"}.mdi-keyboard-esc:before{content:"\F02E2"}.mdi-keyboard-f1:before{content:"\F02D6"}.mdi-keyboard-f10:before{content:"\F02DF"}.mdi-keyboard-f11:before{content:"\F02E0"}.mdi-keyboard-f12:before{content:"\F02E1"}.mdi-keyboard-f2:before{content:"\F02D7"}.mdi-keyboard-f3:before{content:"\F02D8"}.mdi-keyboard-f4:before{content:"\F02D9"}.mdi-keyboard-f5:before{content:"\F02DA"}.mdi-keyboard-f6:before{content:"\F02DB"}.mdi-keyboard-f7:before{content:"\F02DC"}.mdi-keyboard-f8:before{content:"\F02DD"}.mdi-keyboard-f9:before{content:"\F02DE"}.mdi-keyboard-off:before{content:"\F310"}.mdi-keyboard-off-outline:before{content:"\FE8C"}.mdi-keyboard-outline:before{content:"\F97A"}.mdi-keyboard-return:before{content:"\F311"}.mdi-keyboard-settings:before{content:"\F9F8"}.mdi-keyboard-settings-outline:before{content:"\F9F9"}.mdi-keyboard-space:before{content:"\F0072"}.mdi-keyboard-tab:before{content:"\F312"}.mdi-keyboard-variant:before{content:"\F313"}.mdi-khanda:before{content:"\F0128"}.mdi-kickstarter:before{content:"\F744"}.mdi-klingon:before{content:"\F0386"}.mdi-knife:before{content:"\F9FA"}.mdi-knife-military:before{content:"\F9FB"}.mdi-kodi:before{content:"\F314"}.mdi-kotlin:before{content:"\F0244"}.mdi-kubernetes:before{content:"\F0129"}.mdi-label:before{content:"\F315"}.mdi-label-multiple:before{content:"\F03A0"}.mdi-label-multiple-outline:before{content:"\F03A1"}.mdi-label-off:before{content:"\FACA"}.mdi-label-off-outline:before{content:"\FACB"}.mdi-label-outline:before{content:"\F316"}.mdi-label-percent:before{content:"\F0315"}.mdi-label-percent-outline:before{content:"\F0316"}.mdi-label-variant:before{content:"\FACC"}.mdi-label-variant-outline:before{content:"\FACD"}.mdi-ladybug:before{content:"\F82C"}.mdi-lambda:before{content:"\F627"}.mdi-lamp:before{content:"\F6B4"}.mdi-lan:before{content:"\F317"}.mdi-lan-check:before{content:"\F02D5"}.mdi-lan-connect:before{content:"\F318"}.mdi-lan-disconnect:before{content:"\F319"}.mdi-lan-pending:before{content:"\F31A"}.mdi-language-c:before{content:"\F671"}.mdi-language-cpp:before{content:"\F672"}.mdi-language-csharp:before{content:"\F31B"}.mdi-language-css3:before{content:"\F31C"}.mdi-language-fortran:before{content:"\F0245"}.mdi-language-go:before{content:"\F7D2"}.mdi-language-haskell:before{content:"\FC6E"}.mdi-language-html5:before{content:"\F31D"}.mdi-language-java:before{content:"\FB1C"}.mdi-language-javascript:before{content:"\F31E"}.mdi-language-lua:before{content:"\F8B0"}.mdi-language-php:before{content:"\F31F"}.mdi-language-python:before{content:"\F320"}.mdi-language-python-text:before{content:"\F321"}.mdi-language-r:before{content:"\F7D3"}.mdi-language-ruby-on-rails:before{content:"\FACE"}.mdi-language-swift:before{content:"\F6E4"}.mdi-language-typescript:before{content:"\F6E5"}.mdi-laptop:before{content:"\F322"}.mdi-laptop-chromebook:before{content:"\F323"}.mdi-laptop-mac:before{content:"\F324"}.mdi-laptop-off:before{content:"\F6E6"}.mdi-laptop-windows:before{content:"\F325"}.mdi-laravel:before{content:"\FACF"}.mdi-lasso:before{content:"\FF20"}.mdi-lastfm:before{content:"\F326"}.mdi-lastpass:before{content:"\F446"}.mdi-latitude:before{content:"\FF74"}.mdi-launch:before{content:"\F327"}.mdi-lava-lamp:before{content:"\F7D4"}.mdi-layers:before{content:"\F328"}.mdi-layers-minus:before{content:"\FE8D"}.mdi-layers-off:before{content:"\F329"}.mdi-layers-off-outline:before{content:"\F9FC"}.mdi-layers-outline:before{content:"\F9FD"}.mdi-layers-plus:before{content:"\FE30"}.mdi-layers-remove:before{content:"\FE31"}.mdi-layers-search:before{content:"\F0231"}.mdi-layers-search-outline:before{content:"\F0232"}.mdi-layers-triple:before{content:"\FF75"}.mdi-layers-triple-outline:before{content:"\FF76"}.mdi-lead-pencil:before{content:"\F64F"}.mdi-leaf:before{content:"\F32A"}.mdi-leaf-maple:before{content:"\FC6F"}.mdi-leaf-maple-off:before{content:"\F0305"}.mdi-leaf-off:before{content:"\F0304"}.mdi-leak:before{content:"\FDB3"}.mdi-leak-off:before{content:"\FDB4"}.mdi-led-off:before{content:"\F32B"}.mdi-led-on:before{content:"\F32C"}.mdi-led-outline:before{content:"\F32D"}.mdi-led-strip:before{content:"\F7D5"}.mdi-led-strip-variant:before{content:"\F0073"}.mdi-led-variant-off:before{content:"\F32E"}.mdi-led-variant-on:before{content:"\F32F"}.mdi-led-variant-outline:before{content:"\F330"}.mdi-leek:before{content:"\F01A8"}.mdi-less-than:before{content:"\F97B"}.mdi-less-than-or-equal:before{content:"\F97C"}.mdi-library:before{content:"\F331"}.mdi-library-books:before{content:"\F332"}.mdi-library-movie:before{content:"\FCF4"}.mdi-library-music:before{content:"\F333"}.mdi-library-music-outline:before{content:"\FF21"}.mdi-library-shelves:before{content:"\FB85"}.mdi-library-video:before{content:"\FCF5"}.mdi-license:before{content:"\FFE3"}.mdi-lifebuoy:before{content:"\F87D"}.mdi-light-switch:before{content:"\F97D"}.mdi-lightbulb:before{content:"\F335"}.mdi-lightbulb-cfl:before{content:"\F0233"}.mdi-lightbulb-cfl-off:before{content:"\F0234"}.mdi-lightbulb-cfl-spiral:before{content:"\F02A0"}.mdi-lightbulb-cfl-spiral-off:before{content:"\F02EE"}.mdi-lightbulb-group:before{content:"\F027E"}.mdi-lightbulb-group-off:before{content:"\F02F8"}.mdi-lightbulb-group-off-outline:before{content:"\F02F9"}.mdi-lightbulb-group-outline:before{content:"\F027F"}.mdi-lightbulb-multiple:before{content:"\F0280"}.mdi-lightbulb-multiple-off:before{content:"\F02FA"}.mdi-lightbulb-multiple-off-outline:before{content:"\F02FB"}.mdi-lightbulb-multiple-outline:before{content:"\F0281"}.mdi-lightbulb-off:before{content:"\FE32"}.mdi-lightbulb-off-outline:before{content:"\FE33"}.mdi-lightbulb-on:before{content:"\F6E7"}.mdi-lightbulb-on-outline:before{content:"\F6E8"}.mdi-lightbulb-outline:before{content:"\F336"}.mdi-lighthouse:before{content:"\F9FE"}.mdi-lighthouse-on:before{content:"\F9FF"}.mdi-link:before{content:"\F337"}.mdi-link-box:before{content:"\FCF6"}.mdi-link-box-outline:before{content:"\FCF7"}.mdi-link-box-variant:before{content:"\FCF8"}.mdi-link-box-variant-outline:before{content:"\FCF9"}.mdi-link-lock:before{content:"\F00E5"}.mdi-link-off:before{content:"\F338"}.mdi-link-plus:before{content:"\FC70"}.mdi-link-variant:before{content:"\F339"}.mdi-link-variant-minus:before{content:"\F012A"}.mdi-link-variant-off:before{content:"\F33A"}.mdi-link-variant-plus:before{content:"\F012B"}.mdi-link-variant-remove:before{content:"\F012C"}.mdi-linkedin:before{content:"\F33B"}.mdi-linkedin-box:before{content:"\F33C"}.mdi-linux:before{content:"\F33D"}.mdi-linux-mint:before{content:"\F8EC"}.mdi-litecoin:before{content:"\FA60"}.mdi-loading:before{content:"\F771"}.mdi-location-enter:before{content:"\FFE4"}.mdi-location-exit:before{content:"\FFE5"}.mdi-lock:before{content:"\F33E"}.mdi-lock-alert:before{content:"\F8ED"}.mdi-lock-clock:before{content:"\F97E"}.mdi-lock-open:before{content:"\F33F"}.mdi-lock-open-outline:before{content:"\F340"}.mdi-lock-open-variant:before{content:"\FFE6"}.mdi-lock-open-variant-outline:before{content:"\FFE7"}.mdi-lock-outline:before{content:"\F341"}.mdi-lock-pattern:before{content:"\F6E9"}.mdi-lock-plus:before{content:"\F5FB"}.mdi-lock-question:before{content:"\F8EE"}.mdi-lock-reset:before{content:"\F772"}.mdi-lock-smart:before{content:"\F8B1"}.mdi-locker:before{content:"\F7D6"}.mdi-locker-multiple:before{content:"\F7D7"}.mdi-login:before{content:"\F342"}.mdi-login-variant:before{content:"\F5FC"}.mdi-logout:before{content:"\F343"}.mdi-logout-variant:before{content:"\F5FD"}.mdi-longitude:before{content:"\FF77"}.mdi-looks:before{content:"\F344"}.mdi-loupe:before{content:"\F345"}.mdi-lumx:before{content:"\F346"}.mdi-lungs:before{content:"\F00AF"}.mdi-lyft:before{content:"\FB1D"}.mdi-magnet:before{content:"\F347"}.mdi-magnet-on:before{content:"\F348"}.mdi-magnify:before{content:"\F349"}.mdi-magnify-close:before{content:"\F97F"}.mdi-magnify-minus:before{content:"\F34A"}.mdi-magnify-minus-cursor:before{content:"\FA61"}.mdi-magnify-minus-outline:before{content:"\F6EB"}.mdi-magnify-plus:before{content:"\F34B"}.mdi-magnify-plus-cursor:before{content:"\FA62"}.mdi-magnify-plus-outline:before{content:"\F6EC"}.mdi-magnify-remove-cursor:before{content:"\F0237"}.mdi-magnify-remove-outline:before{content:"\F0238"}.mdi-magnify-scan:before{content:"\F02A1"}.mdi-mail:before{content:"\FED8"}.mdi-mail-ru:before{content:"\F34C"}.mdi-mailbox:before{content:"\F6ED"}.mdi-mailbox-open:before{content:"\FD64"}.mdi-mailbox-open-outline:before{content:"\FD65"}.mdi-mailbox-open-up:before{content:"\FD66"}.mdi-mailbox-open-up-outline:before{content:"\FD67"}.mdi-mailbox-outline:before{content:"\FD68"}.mdi-mailbox-up:before{content:"\FD69"}.mdi-mailbox-up-outline:before{content:"\FD6A"}.mdi-map:before{content:"\F34D"}.mdi-map-check:before{content:"\FED9"}.mdi-map-check-outline:before{content:"\FEDA"}.mdi-map-clock:before{content:"\FCFA"}.mdi-map-clock-outline:before{content:"\FCFB"}.mdi-map-legend:before{content:"\FA00"}.mdi-map-marker:before{content:"\F34E"}.mdi-map-marker-alert:before{content:"\FF22"}.mdi-map-marker-alert-outline:before{content:"\FF23"}.mdi-map-marker-check:before{content:"\FC71"}.mdi-map-marker-check-outline:before{content:"\F0326"}.mdi-map-marker-circle:before{content:"\F34F"}.mdi-map-marker-distance:before{content:"\F8EF"}.mdi-map-marker-down:before{content:"\F012D"}.mdi-map-marker-left:before{content:"\F0306"}.mdi-map-marker-left-outline:before{content:"\F0308"}.mdi-map-marker-minus:before{content:"\F650"}.mdi-map-marker-minus-outline:before{content:"\F0324"}.mdi-map-marker-multiple:before{content:"\F350"}.mdi-map-marker-multiple-outline:before{content:"\F02A2"}.mdi-map-marker-off:before{content:"\F351"}.mdi-map-marker-off-outline:before{content:"\F0328"}.mdi-map-marker-outline:before{content:"\F7D8"}.mdi-map-marker-path:before{content:"\FCFC"}.mdi-map-marker-plus:before{content:"\F651"}.mdi-map-marker-plus-outline:before{content:"\F0323"}.mdi-map-marker-question:before{content:"\FF24"}.mdi-map-marker-question-outline:before{content:"\FF25"}.mdi-map-marker-radius:before{content:"\F352"}.mdi-map-marker-radius-outline:before{content:"\F0327"}.mdi-map-marker-remove:before{content:"\FF26"}.mdi-map-marker-remove-outline:before{content:"\F0325"}.mdi-map-marker-remove-variant:before{content:"\FF27"}.mdi-map-marker-right:before{content:"\F0307"}.mdi-map-marker-right-outline:before{content:"\F0309"}.mdi-map-marker-up:before{content:"\F012E"}.mdi-map-minus:before{content:"\F980"}.mdi-map-outline:before{content:"\F981"}.mdi-map-plus:before{content:"\F982"}.mdi-map-search:before{content:"\F983"}.mdi-map-search-outline:before{content:"\F984"}.mdi-mapbox:before{content:"\FB86"}.mdi-margin:before{content:"\F353"}.mdi-markdown:before{content:"\F354"}.mdi-markdown-outline:before{content:"\FF78"}.mdi-marker:before{content:"\F652"}.mdi-marker-cancel:before{content:"\FDB5"}.mdi-marker-check:before{content:"\F355"}.mdi-mastodon:before{content:"\FAD0"}.mdi-mastodon-variant:before{content:"\FAD1"}.mdi-material-design:before{content:"\F985"}.mdi-material-ui:before{content:"\F357"}.mdi-math-compass:before{content:"\F358"}.mdi-math-cos:before{content:"\FC72"}.mdi-math-integral:before{content:"\FFE8"}.mdi-math-integral-box:before{content:"\FFE9"}.mdi-math-log:before{content:"\F00B0"}.mdi-math-norm:before{content:"\FFEA"}.mdi-math-norm-box:before{content:"\FFEB"}.mdi-math-sin:before{content:"\FC73"}.mdi-math-tan:before{content:"\FC74"}.mdi-matrix:before{content:"\F628"}.mdi-medal:before{content:"\F986"}.mdi-medal-outline:before{content:"\F0351"}.mdi-medical-bag:before{content:"\F6EE"}.mdi-meditation:before{content:"\F01A6"}.mdi-medium:before{content:"\F35A"}.mdi-meetup:before{content:"\FAD2"}.mdi-memory:before{content:"\F35B"}.mdi-menu:before{content:"\F35C"}.mdi-menu-down:before{content:"\F35D"}.mdi-menu-down-outline:before{content:"\F6B5"}.mdi-menu-left:before{content:"\F35E"}.mdi-menu-left-outline:before{content:"\FA01"}.mdi-menu-open:before{content:"\FB87"}.mdi-menu-right:before{content:"\F35F"}.mdi-menu-right-outline:before{content:"\FA02"}.mdi-menu-swap:before{content:"\FA63"}.mdi-menu-swap-outline:before{content:"\FA64"}.mdi-menu-up:before{content:"\F360"}.mdi-menu-up-outline:before{content:"\F6B6"}.mdi-merge:before{content:"\FF79"}.mdi-message:before{content:"\F361"}.mdi-message-alert:before{content:"\F362"}.mdi-message-alert-outline:before{content:"\FA03"}.mdi-message-arrow-left:before{content:"\F031D"}.mdi-message-arrow-left-outline:before{content:"\F031E"}.mdi-message-arrow-right:before{content:"\F031F"}.mdi-message-arrow-right-outline:before{content:"\F0320"}.mdi-message-bulleted:before{content:"\F6A1"}.mdi-message-bulleted-off:before{content:"\F6A2"}.mdi-message-draw:before{content:"\F363"}.mdi-message-image:before{content:"\F364"}.mdi-message-image-outline:before{content:"\F0197"}.mdi-message-lock:before{content:"\FFEC"}.mdi-message-lock-outline:before{content:"\F0198"}.mdi-message-minus:before{content:"\F0199"}.mdi-message-minus-outline:before{content:"\F019A"}.mdi-message-outline:before{content:"\F365"}.mdi-message-plus:before{content:"\F653"}.mdi-message-plus-outline:before{content:"\F00E6"}.mdi-message-processing:before{content:"\F366"}.mdi-message-processing-outline:before{content:"\F019B"}.mdi-message-reply:before{content:"\F367"}.mdi-message-reply-text:before{content:"\F368"}.mdi-message-settings:before{content:"\F6EF"}.mdi-message-settings-outline:before{content:"\F019C"}.mdi-message-settings-variant:before{content:"\F6F0"}.mdi-message-settings-variant-outline:before{content:"\F019D"}.mdi-message-text:before{content:"\F369"}.mdi-message-text-clock:before{content:"\F019E"}.mdi-message-text-clock-outline:before{content:"\F019F"}.mdi-message-text-lock:before{content:"\FFED"}.mdi-message-text-lock-outline:before{content:"\F01A0"}.mdi-message-text-outline:before{content:"\F36A"}.mdi-message-video:before{content:"\F36B"}.mdi-meteor:before{content:"\F629"}.mdi-metronome:before{content:"\F7D9"}.mdi-metronome-tick:before{content:"\F7DA"}.mdi-micro-sd:before{content:"\F7DB"}.mdi-microphone:before{content:"\F36C"}.mdi-microphone-minus:before{content:"\F8B2"}.mdi-microphone-off:before{content:"\F36D"}.mdi-microphone-outline:before{content:"\F36E"}.mdi-microphone-plus:before{content:"\F8B3"}.mdi-microphone-settings:before{content:"\F36F"}.mdi-microphone-variant:before{content:"\F370"}.mdi-microphone-variant-off:before{content:"\F371"}.mdi-microscope:before{content:"\F654"}.mdi-microsoft:before{content:"\F372"}.mdi-microsoft-dynamics:before{content:"\F987"}.mdi-microwave:before{content:"\FC75"}.mdi-middleware:before{content:"\FF7A"}.mdi-middleware-outline:before{content:"\FF7B"}.mdi-midi:before{content:"\F8F0"}.mdi-midi-port:before{content:"\F8F1"}.mdi-mine:before{content:"\FDB6"}.mdi-minecraft:before{content:"\F373"}.mdi-mini-sd:before{content:"\FA04"}.mdi-minidisc:before{content:"\FA05"}.mdi-minus:before{content:"\F374"}.mdi-minus-box:before{content:"\F375"}.mdi-minus-box-multiple:before{content:"\F016C"}.mdi-minus-box-multiple-outline:before{content:"\F016D"}.mdi-minus-box-outline:before{content:"\F6F1"}.mdi-minus-circle:before{content:"\F376"}.mdi-minus-circle-outline:before{content:"\F377"}.mdi-minus-network:before{content:"\F378"}.mdi-minus-network-outline:before{content:"\FC76"}.mdi-mirror:before{content:"\F0228"}.mdi-mixcloud:before{content:"\F62A"}.mdi-mixed-martial-arts:before{content:"\FD6B"}.mdi-mixed-reality:before{content:"\F87E"}.mdi-mixer:before{content:"\F7DC"}.mdi-molecule:before{content:"\FB88"}.mdi-monitor:before{content:"\F379"}.mdi-monitor-cellphone:before{content:"\F988"}.mdi-monitor-cellphone-star:before{content:"\F989"}.mdi-monitor-clean:before{content:"\F012F"}.mdi-monitor-dashboard:before{content:"\FA06"}.mdi-monitor-edit:before{content:"\F02F1"}.mdi-monitor-lock:before{content:"\FDB7"}.mdi-monitor-multiple:before{content:"\F37A"}.mdi-monitor-off:before{content:"\FD6C"}.mdi-monitor-screenshot:before{content:"\FE34"}.mdi-monitor-speaker:before{content:"\FF7C"}.mdi-monitor-speaker-off:before{content:"\FF7D"}.mdi-monitor-star:before{content:"\FDB8"}.mdi-moon-first-quarter:before{content:"\FF7E"}.mdi-moon-full:before{content:"\FF7F"}.mdi-moon-last-quarter:before{content:"\FF80"}.mdi-moon-new:before{content:"\FF81"}.mdi-moon-waning-crescent:before{content:"\FF82"}.mdi-moon-waning-gibbous:before{content:"\FF83"}.mdi-moon-waxing-crescent:before{content:"\FF84"}.mdi-moon-waxing-gibbous:before{content:"\FF85"}.mdi-moped:before{content:"\F00B1"}.mdi-more:before{content:"\F37B"}.mdi-mother-heart:before{content:"\F033F"}.mdi-mother-nurse:before{content:"\FCFD"}.mdi-motion-sensor:before{content:"\FD6D"}.mdi-motorbike:before{content:"\F37C"}.mdi-mouse:before{content:"\F37D"}.mdi-mouse-bluetooth:before{content:"\F98A"}.mdi-mouse-off:before{content:"\F37E"}.mdi-mouse-variant:before{content:"\F37F"}.mdi-mouse-variant-off:before{content:"\F380"}.mdi-move-resize:before{content:"\F655"}.mdi-move-resize-variant:before{content:"\F656"}.mdi-movie:before{content:"\F381"}.mdi-movie-edit:before{content:"\F014D"}.mdi-movie-edit-outline:before{content:"\F014E"}.mdi-movie-filter:before{content:"\F014F"}.mdi-movie-filter-outline:before{content:"\F0150"}.mdi-movie-open:before{content:"\FFEE"}.mdi-movie-open-outline:before{content:"\FFEF"}.mdi-movie-outline:before{content:"\FDB9"}.mdi-movie-roll:before{content:"\F7DD"}.mdi-movie-search:before{content:"\F01FD"}.mdi-movie-search-outline:before{content:"\F01FE"}.mdi-muffin:before{content:"\F98B"}.mdi-multiplication:before{content:"\F382"}.mdi-multiplication-box:before{content:"\F383"}.mdi-mushroom:before{content:"\F7DE"}.mdi-mushroom-outline:before{content:"\F7DF"}.mdi-music:before{content:"\F759"}.mdi-music-accidental-double-flat:before{content:"\FF86"}.mdi-music-accidental-double-sharp:before{content:"\FF87"}.mdi-music-accidental-flat:before{content:"\FF88"}.mdi-music-accidental-natural:before{content:"\FF89"}.mdi-music-accidental-sharp:before{content:"\FF8A"}.mdi-music-box:before{content:"\F384"}.mdi-music-box-outline:before{content:"\F385"}.mdi-music-circle:before{content:"\F386"}.mdi-music-circle-outline:before{content:"\FAD3"}.mdi-music-clef-alto:before{content:"\FF8B"}.mdi-music-clef-bass:before{content:"\FF8C"}.mdi-music-clef-treble:before{content:"\FF8D"}.mdi-music-note:before{content:"\F387"}.mdi-music-note-bluetooth:before{content:"\F5FE"}.mdi-music-note-bluetooth-off:before{content:"\F5FF"}.mdi-music-note-eighth:before{content:"\F388"}.mdi-music-note-eighth-dotted:before{content:"\FF8E"}.mdi-music-note-half:before{content:"\F389"}.mdi-music-note-half-dotted:before{content:"\FF8F"}.mdi-music-note-off:before{content:"\F38A"}.mdi-music-note-off-outline:before{content:"\FF90"}.mdi-music-note-outline:before{content:"\FF91"}.mdi-music-note-plus:before{content:"\FDBA"}.mdi-music-note-quarter:before{content:"\F38B"}.mdi-music-note-quarter-dotted:before{content:"\FF92"}.mdi-music-note-sixteenth:before{content:"\F38C"}.mdi-music-note-sixteenth-dotted:before{content:"\FF93"}.mdi-music-note-whole:before{content:"\F38D"}.mdi-music-note-whole-dotted:before{content:"\FF94"}.mdi-music-off:before{content:"\F75A"}.mdi-music-rest-eighth:before{content:"\FF95"}.mdi-music-rest-half:before{content:"\FF96"}.mdi-music-rest-quarter:before{content:"\FF97"}.mdi-music-rest-sixteenth:before{content:"\FF98"}.mdi-music-rest-whole:before{content:"\FF99"}.mdi-nail:before{content:"\FDBB"}.mdi-nas:before{content:"\F8F2"}.mdi-nativescript:before{content:"\F87F"}.mdi-nature:before{content:"\F38E"}.mdi-nature-people:before{content:"\F38F"}.mdi-navigation:before{content:"\F390"}.mdi-near-me:before{content:"\F5CD"}.mdi-necklace:before{content:"\FF28"}.mdi-needle:before{content:"\F391"}.mdi-netflix:before{content:"\F745"}.mdi-network:before{content:"\F6F2"}.mdi-network-off:before{content:"\FC77"}.mdi-network-off-outline:before{content:"\FC78"}.mdi-network-outline:before{content:"\FC79"}.mdi-network-router:before{content:"\F00B2"}.mdi-network-strength-1:before{content:"\F8F3"}.mdi-network-strength-1-alert:before{content:"\F8F4"}.mdi-network-strength-2:before{content:"\F8F5"}.mdi-network-strength-2-alert:before{content:"\F8F6"}.mdi-network-strength-3:before{content:"\F8F7"}.mdi-network-strength-3-alert:before{content:"\F8F8"}.mdi-network-strength-4:before{content:"\F8F9"}.mdi-network-strength-4-alert:before{content:"\F8FA"}.mdi-network-strength-off:before{content:"\F8FB"}.mdi-network-strength-off-outline:before{content:"\F8FC"}.mdi-network-strength-outline:before{content:"\F8FD"}.mdi-new-box:before{content:"\F394"}.mdi-newspaper:before{content:"\F395"}.mdi-newspaper-minus:before{content:"\FF29"}.mdi-newspaper-plus:before{content:"\FF2A"}.mdi-newspaper-variant:before{content:"\F0023"}.mdi-newspaper-variant-multiple:before{content:"\F0024"}.mdi-newspaper-variant-multiple-outline:before{content:"\F0025"}.mdi-newspaper-variant-outline:before{content:"\F0026"}.mdi-nfc:before{content:"\F396"}.mdi-nfc-off:before{content:"\FE35"}.mdi-nfc-search-variant:before{content:"\FE36"}.mdi-nfc-tap:before{content:"\F397"}.mdi-nfc-variant:before{content:"\F398"}.mdi-nfc-variant-off:before{content:"\FE37"}.mdi-ninja:before{content:"\F773"}.mdi-nintendo-switch:before{content:"\F7E0"}.mdi-nix:before{content:"\F0130"}.mdi-nodejs:before{content:"\F399"}.mdi-noodles:before{content:"\F01A9"}.mdi-not-equal:before{content:"\F98C"}.mdi-not-equal-variant:before{content:"\F98D"}.mdi-note:before{content:"\F39A"}.mdi-note-multiple:before{content:"\F6B7"}.mdi-note-multiple-outline:before{content:"\F6B8"}.mdi-note-outline:before{content:"\F39B"}.mdi-note-plus:before{content:"\F39C"}.mdi-note-plus-outline:before{content:"\F39D"}.mdi-note-text:before{content:"\F39E"}.mdi-note-text-outline:before{content:"\F0202"}.mdi-notebook:before{content:"\F82D"}.mdi-notebook-multiple:before{content:"\FE38"}.mdi-notebook-outline:before{content:"\FEDC"}.mdi-notification-clear-all:before{content:"\F39F"}.mdi-npm:before{content:"\F6F6"}.mdi-npm-variant:before{content:"\F98E"}.mdi-npm-variant-outline:before{content:"\F98F"}.mdi-nuke:before{content:"\F6A3"}.mdi-null:before{content:"\F7E1"}.mdi-numeric:before{content:"\F3A0"}.mdi-numeric-0:before{content:"\30"}.mdi-numeric-0-box:before{content:"\F3A1"}.mdi-numeric-0-box-multiple:before{content:"\FF2B"}.mdi-numeric-0-box-multiple-outline:before{content:"\F3A2"}.mdi-numeric-0-box-outline:before{content:"\F3A3"}.mdi-numeric-0-circle:before{content:"\FC7A"}.mdi-numeric-0-circle-outline:before{content:"\FC7B"}.mdi-numeric-1:before{content:"\31"}.mdi-numeric-1-box:before{content:"\F3A4"}.mdi-numeric-1-box-multiple:before{content:"\FF2C"}.mdi-numeric-1-box-multiple-outline:before{content:"\F3A5"}.mdi-numeric-1-box-outline:before{content:"\F3A6"}.mdi-numeric-1-circle:before{content:"\FC7C"}.mdi-numeric-1-circle-outline:before{content:"\FC7D"}.mdi-numeric-10:before{content:"\F000A"}.mdi-numeric-10-box:before{content:"\FF9A"}.mdi-numeric-10-box-multiple:before{content:"\F000B"}.mdi-numeric-10-box-multiple-outline:before{content:"\F000C"}.mdi-numeric-10-box-outline:before{content:"\FF9B"}.mdi-numeric-10-circle:before{content:"\F000D"}.mdi-numeric-10-circle-outline:before{content:"\F000E"}.mdi-numeric-2:before{content:"\32"}.mdi-numeric-2-box:before{content:"\F3A7"}.mdi-numeric-2-box-multiple:before{content:"\FF2D"}.mdi-numeric-2-box-multiple-outline:before{content:"\F3A8"}.mdi-numeric-2-box-outline:before{content:"\F3A9"}.mdi-numeric-2-circle:before{content:"\FC7E"}.mdi-numeric-2-circle-outline:before{content:"\FC7F"}.mdi-numeric-3:before{content:"\33"}.mdi-numeric-3-box:before{content:"\F3AA"}.mdi-numeric-3-box-multiple:before{content:"\FF2E"}.mdi-numeric-3-box-multiple-outline:before{content:"\F3AB"}.mdi-numeric-3-box-outline:before{content:"\F3AC"}.mdi-numeric-3-circle:before{content:"\FC80"}.mdi-numeric-3-circle-outline:before{content:"\FC81"}.mdi-numeric-4:before{content:"\34"}.mdi-numeric-4-box:before{content:"\F3AD"}.mdi-numeric-4-box-multiple:before{content:"\FF2F"}.mdi-numeric-4-box-multiple-outline:before{content:"\F3AE"}.mdi-numeric-4-box-outline:before{content:"\F3AF"}.mdi-numeric-4-circle:before{content:"\FC82"}.mdi-numeric-4-circle-outline:before{content:"\FC83"}.mdi-numeric-5:before{content:"\35"}.mdi-numeric-5-box:before{content:"\F3B0"}.mdi-numeric-5-box-multiple:before{content:"\FF30"}.mdi-numeric-5-box-multiple-outline:before{content:"\F3B1"}.mdi-numeric-5-box-outline:before{content:"\F3B2"}.mdi-numeric-5-circle:before{content:"\FC84"}.mdi-numeric-5-circle-outline:before{content:"\FC85"}.mdi-numeric-6:before{content:"\36"}.mdi-numeric-6-box:before{content:"\F3B3"}.mdi-numeric-6-box-multiple:before{content:"\FF31"}.mdi-numeric-6-box-multiple-outline:before{content:"\F3B4"}.mdi-numeric-6-box-outline:before{content:"\F3B5"}.mdi-numeric-6-circle:before{content:"\FC86"}.mdi-numeric-6-circle-outline:before{content:"\FC87"}.mdi-numeric-7:before{content:"\37"}.mdi-numeric-7-box:before{content:"\F3B6"}.mdi-numeric-7-box-multiple:before{content:"\FF32"}.mdi-numeric-7-box-multiple-outline:before{content:"\F3B7"}.mdi-numeric-7-box-outline:before{content:"\F3B8"}.mdi-numeric-7-circle:before{content:"\FC88"}.mdi-numeric-7-circle-outline:before{content:"\FC89"}.mdi-numeric-8:before{content:"\38"}.mdi-numeric-8-box:before{content:"\F3B9"}.mdi-numeric-8-box-multiple:before{content:"\FF33"}.mdi-numeric-8-box-multiple-outline:before{content:"\F3BA"}.mdi-numeric-8-box-outline:before{content:"\F3BB"}.mdi-numeric-8-circle:before{content:"\FC8A"}.mdi-numeric-8-circle-outline:before{content:"\FC8B"}.mdi-numeric-9:before{content:"\39"}.mdi-numeric-9-box:before{content:"\F3BC"}.mdi-numeric-9-box-multiple:before{content:"\FF34"}.mdi-numeric-9-box-multiple-outline:before{content:"\F3BD"}.mdi-numeric-9-box-outline:before{content:"\F3BE"}.mdi-numeric-9-circle:before{content:"\FC8C"}.mdi-numeric-9-circle-outline:before{content:"\FC8D"}.mdi-numeric-9-plus:before{content:"\F000F"}.mdi-numeric-9-plus-box:before{content:"\F3BF"}.mdi-numeric-9-plus-box-multiple:before{content:"\FF35"}.mdi-numeric-9-plus-box-multiple-outline:before{content:"\F3C0"}.mdi-numeric-9-plus-box-outline:before{content:"\F3C1"}.mdi-numeric-9-plus-circle:before{content:"\FC8E"}.mdi-numeric-9-plus-circle-outline:before{content:"\FC8F"}.mdi-numeric-negative-1:before{content:"\F0074"}.mdi-nut:before{content:"\F6F7"}.mdi-nutrition:before{content:"\F3C2"}.mdi-nuxt:before{content:"\F0131"}.mdi-oar:before{content:"\F67B"}.mdi-ocarina:before{content:"\FDBC"}.mdi-oci:before{content:"\F0314"}.mdi-ocr:before{content:"\F0165"}.mdi-octagon:before{content:"\F3C3"}.mdi-octagon-outline:before{content:"\F3C4"}.mdi-octagram:before{content:"\F6F8"}.mdi-octagram-outline:before{content:"\F774"}.mdi-odnoklassniki:before{content:"\F3C5"}.mdi-offer:before{content:"\F0246"}.mdi-office:before{content:"\F3C6"}.mdi-office-building:before{content:"\F990"}.mdi-oil:before{content:"\F3C7"}.mdi-oil-lamp:before{content:"\FF36"}.mdi-oil-level:before{content:"\F0075"}.mdi-oil-temperature:before{content:"\F0019"}.mdi-omega:before{content:"\F3C9"}.mdi-one-up:before{content:"\FB89"}.mdi-onedrive:before{content:"\F3CA"}.mdi-onenote:before{content:"\F746"}.mdi-onepassword:before{content:"\F880"}.mdi-opacity:before{content:"\F5CC"}.mdi-open-in-app:before{content:"\F3CB"}.mdi-open-in-new:before{content:"\F3CC"}.mdi-open-source-initiative:before{content:"\FB8A"}.mdi-openid:before{content:"\F3CD"}.mdi-opera:before{content:"\F3CE"}.mdi-orbit:before{content:"\F018"}.mdi-origin:before{content:"\FB2B"}.mdi-ornament:before{content:"\F3CF"}.mdi-ornament-variant:before{content:"\F3D0"}.mdi-outdoor-lamp:before{content:"\F0076"}.mdi-outlook:before{content:"\FCFE"}.mdi-overscan:before{content:"\F0027"}.mdi-owl:before{content:"\F3D2"}.mdi-pac-man:before{content:"\FB8B"}.mdi-package:before{content:"\F3D3"}.mdi-package-down:before{content:"\F3D4"}.mdi-package-up:before{content:"\F3D5"}.mdi-package-variant:before{content:"\F3D6"}.mdi-package-variant-closed:before{content:"\F3D7"}.mdi-page-first:before{content:"\F600"}.mdi-page-last:before{content:"\F601"}.mdi-page-layout-body:before{content:"\F6F9"}.mdi-page-layout-footer:before{content:"\F6FA"}.mdi-page-layout-header:before{content:"\F6FB"}.mdi-page-layout-header-footer:before{content:"\FF9C"}.mdi-page-layout-sidebar-left:before{content:"\F6FC"}.mdi-page-layout-sidebar-right:before{content:"\F6FD"}.mdi-page-next:before{content:"\FB8C"}.mdi-page-next-outline:before{content:"\FB8D"}.mdi-page-previous:before{content:"\FB8E"}.mdi-page-previous-outline:before{content:"\FB8F"}.mdi-palette:before{content:"\F3D8"}.mdi-palette-advanced:before{content:"\F3D9"}.mdi-palette-outline:before{content:"\FE6C"}.mdi-palette-swatch:before{content:"\F8B4"}.mdi-palette-swatch-outline:before{content:"\F0387"}.mdi-palm-tree:before{content:"\F0077"}.mdi-pan:before{content:"\FB90"}.mdi-pan-bottom-left:before{content:"\FB91"}.mdi-pan-bottom-right:before{content:"\FB92"}.mdi-pan-down:before{content:"\FB93"}.mdi-pan-horizontal:before{content:"\FB94"}.mdi-pan-left:before{content:"\FB95"}.mdi-pan-right:before{content:"\FB96"}.mdi-pan-top-left:before{content:"\FB97"}.mdi-pan-top-right:before{content:"\FB98"}.mdi-pan-up:before{content:"\FB99"}.mdi-pan-vertical:before{content:"\FB9A"}.mdi-panda:before{content:"\F3DA"}.mdi-pandora:before{content:"\F3DB"}.mdi-panorama:before{content:"\F3DC"}.mdi-panorama-fisheye:before{content:"\F3DD"}.mdi-panorama-horizontal:before{content:"\F3DE"}.mdi-panorama-vertical:before{content:"\F3DF"}.mdi-panorama-wide-angle:before{content:"\F3E0"}.mdi-paper-cut-vertical:before{content:"\F3E1"}.mdi-paper-roll:before{content:"\F0182"}.mdi-paper-roll-outline:before{content:"\F0183"}.mdi-paperclip:before{content:"\F3E2"}.mdi-parachute:before{content:"\FC90"}.mdi-parachute-outline:before{content:"\FC91"}.mdi-parking:before{content:"\F3E3"}.mdi-party-popper:before{content:"\F0078"}.mdi-passport:before{content:"\F7E2"}.mdi-passport-biometric:before{content:"\FDBD"}.mdi-pasta:before{content:"\F018B"}.mdi-patio-heater:before{content:"\FF9D"}.mdi-patreon:before{content:"\F881"}.mdi-pause:before{content:"\F3E4"}.mdi-pause-circle:before{content:"\F3E5"}.mdi-pause-circle-outline:before{content:"\F3E6"}.mdi-pause-octagon:before{content:"\F3E7"}.mdi-pause-octagon-outline:before{content:"\F3E8"}.mdi-paw:before{content:"\F3E9"}.mdi-paw-off:before{content:"\F657"}.mdi-paypal:before{content:"\F882"}.mdi-pdf-box:before{content:"\FE39"}.mdi-peace:before{content:"\F883"}.mdi-peanut:before{content:"\F001E"}.mdi-peanut-off:before{content:"\F001F"}.mdi-peanut-off-outline:before{content:"\F0021"}.mdi-peanut-outline:before{content:"\F0020"}.mdi-pen:before{content:"\F3EA"}.mdi-pen-lock:before{content:"\FDBE"}.mdi-pen-minus:before{content:"\FDBF"}.mdi-pen-off:before{content:"\FDC0"}.mdi-pen-plus:before{content:"\FDC1"}.mdi-pen-remove:before{content:"\FDC2"}.mdi-pencil:before{content:"\F3EB"}.mdi-pencil-box:before{content:"\F3EC"}.mdi-pencil-box-multiple:before{content:"\F016F"}.mdi-pencil-box-multiple-outline:before{content:"\F0170"}.mdi-pencil-box-outline:before{content:"\F3ED"}.mdi-pencil-circle:before{content:"\F6FE"}.mdi-pencil-circle-outline:before{content:"\F775"}.mdi-pencil-lock:before{content:"\F3EE"}.mdi-pencil-lock-outline:before{content:"\FDC3"}.mdi-pencil-minus:before{content:"\FDC4"}.mdi-pencil-minus-outline:before{content:"\FDC5"}.mdi-pencil-off:before{content:"\F3EF"}.mdi-pencil-off-outline:before{content:"\FDC6"}.mdi-pencil-outline:before{content:"\FC92"}.mdi-pencil-plus:before{content:"\FDC7"}.mdi-pencil-plus-outline:before{content:"\FDC8"}.mdi-pencil-remove:before{content:"\FDC9"}.mdi-pencil-remove-outline:before{content:"\FDCA"}.mdi-pencil-ruler:before{content:"\F037E"}.mdi-penguin:before{content:"\FEDD"}.mdi-pentagon:before{content:"\F6FF"}.mdi-pentagon-outline:before{content:"\F700"}.mdi-percent:before{content:"\F3F0"}.mdi-percent-outline:before{content:"\F02A3"}.mdi-periodic-table:before{content:"\F8B5"}.mdi-periodic-table-co:before{content:"\F0329"}.mdi-periodic-table-co2:before{content:"\F7E3"}.mdi-periscope:before{content:"\F747"}.mdi-perspective-less:before{content:"\FCFF"}.mdi-perspective-more:before{content:"\FD00"}.mdi-pharmacy:before{content:"\F3F1"}.mdi-phone:before{content:"\F3F2"}.mdi-phone-alert:before{content:"\FF37"}.mdi-phone-alert-outline:before{content:"\F01B9"}.mdi-phone-bluetooth:before{content:"\F3F3"}.mdi-phone-bluetooth-outline:before{content:"\F01BA"}.mdi-phone-cancel:before{content:"\F00E7"}.mdi-phone-cancel-outline:before{content:"\F01BB"}.mdi-phone-check:before{content:"\F01D4"}.mdi-phone-check-outline:before{content:"\F01D5"}.mdi-phone-classic:before{content:"\F602"}.mdi-phone-classic-off:before{content:"\F02A4"}.mdi-phone-forward:before{content:"\F3F4"}.mdi-phone-forward-outline:before{content:"\F01BC"}.mdi-phone-hangup:before{content:"\F3F5"}.mdi-phone-hangup-outline:before{content:"\F01BD"}.mdi-phone-in-talk:before{content:"\F3F6"}.mdi-phone-in-talk-outline:before{content:"\F01AD"}.mdi-phone-incoming:before{content:"\F3F7"}.mdi-phone-incoming-outline:before{content:"\F01BE"}.mdi-phone-lock:before{content:"\F3F8"}.mdi-phone-lock-outline:before{content:"\F01BF"}.mdi-phone-log:before{content:"\F3F9"}.mdi-phone-log-outline:before{content:"\F01C0"}.mdi-phone-message:before{content:"\F01C1"}.mdi-phone-message-outline:before{content:"\F01C2"}.mdi-phone-minus:before{content:"\F658"}.mdi-phone-minus-outline:before{content:"\F01C3"}.mdi-phone-missed:before{content:"\F3FA"}.mdi-phone-missed-outline:before{content:"\F01D0"}.mdi-phone-off:before{content:"\FDCB"}.mdi-phone-off-outline:before{content:"\F01D1"}.mdi-phone-outgoing:before{content:"\F3FB"}.mdi-phone-outgoing-outline:before{content:"\F01C4"}.mdi-phone-outline:before{content:"\FDCC"}.mdi-phone-paused:before{content:"\F3FC"}.mdi-phone-paused-outline:before{content:"\F01C5"}.mdi-phone-plus:before{content:"\F659"}.mdi-phone-plus-outline:before{content:"\F01C6"}.mdi-phone-return:before{content:"\F82E"}.mdi-phone-return-outline:before{content:"\F01C7"}.mdi-phone-ring:before{content:"\F01D6"}.mdi-phone-ring-outline:before{content:"\F01D7"}.mdi-phone-rotate-landscape:before{content:"\F884"}.mdi-phone-rotate-portrait:before{content:"\F885"}.mdi-phone-settings:before{content:"\F3FD"}.mdi-phone-settings-outline:before{content:"\F01C8"}.mdi-phone-voip:before{content:"\F3FE"}.mdi-pi:before{content:"\F3FF"}.mdi-pi-box:before{content:"\F400"}.mdi-pi-hole:before{content:"\FDCD"}.mdi-piano:before{content:"\F67C"}.mdi-pickaxe:before{content:"\F8B6"}.mdi-picture-in-picture-bottom-right:before{content:"\FE3A"}.mdi-picture-in-picture-bottom-right-outline:before{content:"\FE3B"}.mdi-picture-in-picture-top-right:before{content:"\FE3C"}.mdi-picture-in-picture-top-right-outline:before{content:"\FE3D"}.mdi-pier:before{content:"\F886"}.mdi-pier-crane:before{content:"\F887"}.mdi-pig:before{content:"\F401"}.mdi-pig-variant:before{content:"\F0028"}.mdi-piggy-bank:before{content:"\F0029"}.mdi-pill:before{content:"\F402"}.mdi-pillar:before{content:"\F701"}.mdi-pin:before{content:"\F403"}.mdi-pin-off:before{content:"\F404"}.mdi-pin-off-outline:before{content:"\F92F"}.mdi-pin-outline:before{content:"\F930"}.mdi-pine-tree:before{content:"\F405"}.mdi-pine-tree-box:before{content:"\F406"}.mdi-pinterest:before{content:"\F407"}.mdi-pinterest-box:before{content:"\F408"}.mdi-pinwheel:before{content:"\FAD4"}.mdi-pinwheel-outline:before{content:"\FAD5"}.mdi-pipe:before{content:"\F7E4"}.mdi-pipe-disconnected:before{content:"\F7E5"}.mdi-pipe-leak:before{content:"\F888"}.mdi-pipe-wrench:before{content:"\F037F"}.mdi-pirate:before{content:"\FA07"}.mdi-pistol:before{content:"\F702"}.mdi-piston:before{content:"\F889"}.mdi-pizza:before{content:"\F409"}.mdi-play:before{content:"\F40A"}.mdi-play-box:before{content:"\F02A5"}.mdi-play-box-outline:before{content:"\F40B"}.mdi-play-circle:before{content:"\F40C"}.mdi-play-circle-outline:before{content:"\F40D"}.mdi-play-network:before{content:"\F88A"}.mdi-play-network-outline:before{content:"\FC93"}.mdi-play-outline:before{content:"\FF38"}.mdi-play-pause:before{content:"\F40E"}.mdi-play-protected-content:before{content:"\F40F"}.mdi-play-speed:before{content:"\F8FE"}.mdi-playlist-check:before{content:"\F5C7"}.mdi-playlist-edit:before{content:"\F8FF"}.mdi-playlist-minus:before{content:"\F410"}.mdi-playlist-music:before{content:"\FC94"}.mdi-playlist-music-outline:before{content:"\FC95"}.mdi-playlist-play:before{content:"\F411"}.mdi-playlist-plus:before{content:"\F412"}.mdi-playlist-remove:before{content:"\F413"}.mdi-playlist-star:before{content:"\FDCE"}.mdi-playstation:before{content:"\F414"}.mdi-plex:before{content:"\F6B9"}.mdi-plus:before{content:"\F415"}.mdi-plus-box:before{content:"\F416"}.mdi-plus-box-multiple:before{content:"\F334"}.mdi-plus-box-multiple-outline:before{content:"\F016E"}.mdi-plus-box-outline:before{content:"\F703"}.mdi-plus-circle:before{content:"\F417"}.mdi-plus-circle-multiple-outline:before{content:"\F418"}.mdi-plus-circle-outline:before{content:"\F419"}.mdi-plus-minus:before{content:"\F991"}.mdi-plus-minus-box:before{content:"\F992"}.mdi-plus-network:before{content:"\F41A"}.mdi-plus-network-outline:before{content:"\FC96"}.mdi-plus-one:before{content:"\F41B"}.mdi-plus-outline:before{content:"\F704"}.mdi-plus-thick:before{content:"\F0217"}.mdi-pocket:before{content:"\F41C"}.mdi-podcast:before{content:"\F993"}.mdi-podium:before{content:"\FD01"}.mdi-podium-bronze:before{content:"\FD02"}.mdi-podium-gold:before{content:"\FD03"}.mdi-podium-silver:before{content:"\FD04"}.mdi-point-of-sale:before{content:"\FD6E"}.mdi-pokeball:before{content:"\F41D"}.mdi-pokemon-go:before{content:"\FA08"}.mdi-poker-chip:before{content:"\F82F"}.mdi-polaroid:before{content:"\F41E"}.mdi-police-badge:before{content:"\F0192"}.mdi-police-badge-outline:before{content:"\F0193"}.mdi-poll:before{content:"\F41F"}.mdi-poll-box:before{content:"\F420"}.mdi-poll-box-outline:before{content:"\F02A6"}.mdi-polymer:before{content:"\F421"}.mdi-pool:before{content:"\F606"}.mdi-popcorn:before{content:"\F422"}.mdi-post:before{content:"\F002A"}.mdi-post-outline:before{content:"\F002B"}.mdi-postage-stamp:before{content:"\FC97"}.mdi-pot:before{content:"\F65A"}.mdi-pot-mix:before{content:"\F65B"}.mdi-pound:before{content:"\F423"}.mdi-pound-box:before{content:"\F424"}.mdi-pound-box-outline:before{content:"\F01AA"}.mdi-power:before{content:"\F425"}.mdi-power-cycle:before{content:"\F900"}.mdi-power-off:before{content:"\F901"}.mdi-power-on:before{content:"\F902"}.mdi-power-plug:before{content:"\F6A4"}.mdi-power-plug-off:before{content:"\F6A5"}.mdi-power-settings:before{content:"\F426"}.mdi-power-sleep:before{content:"\F903"}.mdi-power-socket:before{content:"\F427"}.mdi-power-socket-au:before{content:"\F904"}.mdi-power-socket-de:before{content:"\F0132"}.mdi-power-socket-eu:before{content:"\F7E6"}.mdi-power-socket-fr:before{content:"\F0133"}.mdi-power-socket-jp:before{content:"\F0134"}.mdi-power-socket-uk:before{content:"\F7E7"}.mdi-power-socket-us:before{content:"\F7E8"}.mdi-power-standby:before{content:"\F905"}.mdi-powershell:before{content:"\FA09"}.mdi-prescription:before{content:"\F705"}.mdi-presentation:before{content:"\F428"}.mdi-presentation-play:before{content:"\F429"}.mdi-printer:before{content:"\F42A"}.mdi-printer-3d:before{content:"\F42B"}.mdi-printer-3d-nozzle:before{content:"\FE3E"}.mdi-printer-3d-nozzle-alert:before{content:"\F01EB"}.mdi-printer-3d-nozzle-alert-outline:before{content:"\F01EC"}.mdi-printer-3d-nozzle-outline:before{content:"\FE3F"}.mdi-printer-alert:before{content:"\F42C"}.mdi-printer-check:before{content:"\F0171"}.mdi-printer-off:before{content:"\FE40"}.mdi-printer-pos:before{content:"\F0079"}.mdi-printer-settings:before{content:"\F706"}.mdi-printer-wireless:before{content:"\FA0A"}.mdi-priority-high:before{content:"\F603"}.mdi-priority-low:before{content:"\F604"}.mdi-professional-hexagon:before{content:"\F42D"}.mdi-progress-alert:before{content:"\FC98"}.mdi-progress-check:before{content:"\F994"}.mdi-progress-clock:before{content:"\F995"}.mdi-progress-close:before{content:"\F0135"}.mdi-progress-download:before{content:"\F996"}.mdi-progress-upload:before{content:"\F997"}.mdi-progress-wrench:before{content:"\FC99"}.mdi-projector:before{content:"\F42E"}.mdi-projector-screen:before{content:"\F42F"}.mdi-propane-tank:before{content:"\F0382"}.mdi-propane-tank-outline:before{content:"\F0383"}.mdi-protocol:before{content:"\FFF9"}.mdi-publish:before{content:"\F6A6"}.mdi-pulse:before{content:"\F430"}.mdi-pumpkin:before{content:"\FB9B"}.mdi-purse:before{content:"\FF39"}.mdi-purse-outline:before{content:"\FF3A"}.mdi-puzzle:before{content:"\F431"}.mdi-puzzle-outline:before{content:"\FA65"}.mdi-qi:before{content:"\F998"}.mdi-qqchat:before{content:"\F605"}.mdi-qrcode:before{content:"\F432"}.mdi-qrcode-edit:before{content:"\F8B7"}.mdi-qrcode-minus:before{content:"\F01B7"}.mdi-qrcode-plus:before{content:"\F01B6"}.mdi-qrcode-remove:before{content:"\F01B8"}.mdi-qrcode-scan:before{content:"\F433"}.mdi-quadcopter:before{content:"\F434"}.mdi-quality-high:before{content:"\F435"}.mdi-quality-low:before{content:"\FA0B"}.mdi-quality-medium:before{content:"\FA0C"}.mdi-quicktime:before{content:"\F436"}.mdi-quora:before{content:"\FD05"}.mdi-rabbit:before{content:"\F906"}.mdi-racing-helmet:before{content:"\FD6F"}.mdi-racquetball:before{content:"\FD70"}.mdi-radar:before{content:"\F437"}.mdi-radiator:before{content:"\F438"}.mdi-radiator-disabled:before{content:"\FAD6"}.mdi-radiator-off:before{content:"\FAD7"}.mdi-radio:before{content:"\F439"}.mdi-radio-am:before{content:"\FC9A"}.mdi-radio-fm:before{content:"\FC9B"}.mdi-radio-handheld:before{content:"\F43A"}.mdi-radio-off:before{content:"\F0247"}.mdi-radio-tower:before{content:"\F43B"}.mdi-radioactive:before{content:"\F43C"}.mdi-radioactive-off:before{content:"\FEDE"}.mdi-radiobox-blank:before{content:"\F43D"}.mdi-radiobox-marked:before{content:"\F43E"}.mdi-radius:before{content:"\FC9C"}.mdi-radius-outline:before{content:"\FC9D"}.mdi-railroad-light:before{content:"\FF3B"}.mdi-raspberry-pi:before{content:"\F43F"}.mdi-ray-end:before{content:"\F440"}.mdi-ray-end-arrow:before{content:"\F441"}.mdi-ray-start:before{content:"\F442"}.mdi-ray-start-arrow:before{content:"\F443"}.mdi-ray-start-end:before{content:"\F444"}.mdi-ray-vertex:before{content:"\F445"}.mdi-react:before{content:"\F707"}.mdi-read:before{content:"\F447"}.mdi-receipt:before{content:"\F449"}.mdi-record:before{content:"\F44A"}.mdi-record-circle:before{content:"\FEDF"}.mdi-record-circle-outline:before{content:"\FEE0"}.mdi-record-player:before{content:"\F999"}.mdi-record-rec:before{content:"\F44B"}.mdi-rectangle:before{content:"\FE41"}.mdi-rectangle-outline:before{content:"\FE42"}.mdi-recycle:before{content:"\F44C"}.mdi-reddit:before{content:"\F44D"}.mdi-redhat:before{content:"\F0146"}.mdi-redo:before{content:"\F44E"}.mdi-redo-variant:before{content:"\F44F"}.mdi-reflect-horizontal:before{content:"\FA0D"}.mdi-reflect-vertical:before{content:"\FA0E"}.mdi-refresh:before{content:"\F450"}.mdi-refresh-circle:before{content:"\F03A2"}.mdi-regex:before{content:"\F451"}.mdi-registered-trademark:before{content:"\FA66"}.mdi-relative-scale:before{content:"\F452"}.mdi-reload:before{content:"\F453"}.mdi-reload-alert:before{content:"\F0136"}.mdi-reminder:before{content:"\F88B"}.mdi-remote:before{content:"\F454"}.mdi-remote-desktop:before{content:"\F8B8"}.mdi-remote-off:before{content:"\FEE1"}.mdi-remote-tv:before{content:"\FEE2"}.mdi-remote-tv-off:before{content:"\FEE3"}.mdi-rename-box:before{content:"\F455"}.mdi-reorder-horizontal:before{content:"\F687"}.mdi-reorder-vertical:before{content:"\F688"}.mdi-repeat:before{content:"\F456"}.mdi-repeat-off:before{content:"\F457"}.mdi-repeat-once:before{content:"\F458"}.mdi-replay:before{content:"\F459"}.mdi-reply:before{content:"\F45A"}.mdi-reply-all:before{content:"\F45B"}.mdi-reply-all-outline:before{content:"\FF3C"}.mdi-reply-circle:before{content:"\F01D9"}.mdi-reply-outline:before{content:"\FF3D"}.mdi-reproduction:before{content:"\F45C"}.mdi-resistor:before{content:"\FB1F"}.mdi-resistor-nodes:before{content:"\FB20"}.mdi-resize:before{content:"\FA67"}.mdi-resize-bottom-right:before{content:"\F45D"}.mdi-responsive:before{content:"\F45E"}.mdi-restart:before{content:"\F708"}.mdi-restart-alert:before{content:"\F0137"}.mdi-restart-off:before{content:"\FD71"}.mdi-restore:before{content:"\F99A"}.mdi-restore-alert:before{content:"\F0138"}.mdi-rewind:before{content:"\F45F"}.mdi-rewind-10:before{content:"\FD06"}.mdi-rewind-30:before{content:"\FD72"}.mdi-rewind-5:before{content:"\F0224"}.mdi-rewind-outline:before{content:"\F709"}.mdi-rhombus:before{content:"\F70A"}.mdi-rhombus-medium:before{content:"\FA0F"}.mdi-rhombus-outline:before{content:"\F70B"}.mdi-rhombus-split:before{content:"\FA10"}.mdi-ribbon:before{content:"\F460"}.mdi-rice:before{content:"\F7E9"}.mdi-ring:before{content:"\F7EA"}.mdi-rivet:before{content:"\FE43"}.mdi-road:before{content:"\F461"}.mdi-road-variant:before{content:"\F462"}.mdi-robber:before{content:"\F007A"}.mdi-robot:before{content:"\F6A8"}.mdi-robot-industrial:before{content:"\FB21"}.mdi-robot-mower:before{content:"\F0222"}.mdi-robot-mower-outline:before{content:"\F021E"}.mdi-robot-vacuum:before{content:"\F70C"}.mdi-robot-vacuum-variant:before{content:"\F907"}.mdi-rocket:before{content:"\F463"}.mdi-rodent:before{content:"\F0352"}.mdi-roller-skate:before{content:"\FD07"}.mdi-rollerblade:before{content:"\FD08"}.mdi-rollupjs:before{content:"\FB9C"}.mdi-roman-numeral-1:before{content:"\F00B3"}.mdi-roman-numeral-10:before{content:"\F00BC"}.mdi-roman-numeral-2:before{content:"\F00B4"}.mdi-roman-numeral-3:before{content:"\F00B5"}.mdi-roman-numeral-4:before{content:"\F00B6"}.mdi-roman-numeral-5:before{content:"\F00B7"}.mdi-roman-numeral-6:before{content:"\F00B8"}.mdi-roman-numeral-7:before{content:"\F00B9"}.mdi-roman-numeral-8:before{content:"\F00BA"}.mdi-roman-numeral-9:before{content:"\F00BB"}.mdi-room-service:before{content:"\F88C"}.mdi-room-service-outline:before{content:"\FD73"}.mdi-rotate-3d:before{content:"\FEE4"}.mdi-rotate-3d-variant:before{content:"\F464"}.mdi-rotate-left:before{content:"\F465"}.mdi-rotate-left-variant:before{content:"\F466"}.mdi-rotate-orbit:before{content:"\FD74"}.mdi-rotate-right:before{content:"\F467"}.mdi-rotate-right-variant:before{content:"\F468"}.mdi-rounded-corner:before{content:"\F607"}.mdi-router:before{content:"\F020D"}.mdi-router-wireless:before{content:"\F469"}.mdi-router-wireless-settings:before{content:"\FA68"}.mdi-routes:before{content:"\F46A"}.mdi-routes-clock:before{content:"\F007B"}.mdi-rowing:before{content:"\F608"}.mdi-rss:before{content:"\F46B"}.mdi-rss-box:before{content:"\F46C"}.mdi-rss-off:before{content:"\FF3E"}.mdi-ruby:before{content:"\FD09"}.mdi-rugby:before{content:"\FD75"}.mdi-ruler:before{content:"\F46D"}.mdi-ruler-square:before{content:"\FC9E"}.mdi-ruler-square-compass:before{content:"\FEDB"}.mdi-run:before{content:"\F70D"}.mdi-run-fast:before{content:"\F46E"}.mdi-rv-truck:before{content:"\F01FF"}.mdi-sack:before{content:"\FD0A"}.mdi-sack-percent:before{content:"\FD0B"}.mdi-safe:before{content:"\FA69"}.mdi-safe-square:before{content:"\F02A7"}.mdi-safe-square-outline:before{content:"\F02A8"}.mdi-safety-goggles:before{content:"\FD0C"}.mdi-sailing:before{content:"\FEE5"}.mdi-sale:before{content:"\F46F"}.mdi-salesforce:before{content:"\F88D"}.mdi-sass:before{content:"\F7EB"}.mdi-satellite:before{content:"\F470"}.mdi-satellite-uplink:before{content:"\F908"}.mdi-satellite-variant:before{content:"\F471"}.mdi-sausage:before{content:"\F8B9"}.mdi-saw-blade:before{content:"\FE44"}.mdi-saxophone:before{content:"\F609"}.mdi-scale:before{content:"\F472"}.mdi-scale-balance:before{content:"\F5D1"}.mdi-scale-bathroom:before{content:"\F473"}.mdi-scale-off:before{content:"\F007C"}.mdi-scanner:before{content:"\F6AA"}.mdi-scanner-off:before{content:"\F909"}.mdi-scatter-plot:before{content:"\FEE6"}.mdi-scatter-plot-outline:before{content:"\FEE7"}.mdi-school:before{content:"\F474"}.mdi-school-outline:before{content:"\F01AB"}.mdi-scissors-cutting:before{content:"\FA6A"}.mdi-scooter:before{content:"\F0214"}.mdi-scoreboard:before{content:"\F02A9"}.mdi-scoreboard-outline:before{content:"\F02AA"}.mdi-screen-rotation:before{content:"\F475"}.mdi-screen-rotation-lock:before{content:"\F476"}.mdi-screw-flat-top:before{content:"\FDCF"}.mdi-screw-lag:before{content:"\FE54"}.mdi-screw-machine-flat-top:before{content:"\FE55"}.mdi-screw-machine-round-top:before{content:"\FE56"}.mdi-screw-round-top:before{content:"\FE57"}.mdi-screwdriver:before{content:"\F477"}.mdi-script:before{content:"\FB9D"}.mdi-script-outline:before{content:"\F478"}.mdi-script-text:before{content:"\FB9E"}.mdi-script-text-outline:before{content:"\FB9F"}.mdi-sd:before{content:"\F479"}.mdi-seal:before{content:"\F47A"}.mdi-seal-variant:before{content:"\FFFA"}.mdi-search-web:before{content:"\F70E"}.mdi-seat:before{content:"\FC9F"}.mdi-seat-flat:before{content:"\F47B"}.mdi-seat-flat-angled:before{content:"\F47C"}.mdi-seat-individual-suite:before{content:"\F47D"}.mdi-seat-legroom-extra:before{content:"\F47E"}.mdi-seat-legroom-normal:before{content:"\F47F"}.mdi-seat-legroom-reduced:before{content:"\F480"}.mdi-seat-outline:before{content:"\FCA0"}.mdi-seat-passenger:before{content:"\F0274"}.mdi-seat-recline-extra:before{content:"\F481"}.mdi-seat-recline-normal:before{content:"\F482"}.mdi-seatbelt:before{content:"\FCA1"}.mdi-security:before{content:"\F483"}.mdi-security-network:before{content:"\F484"}.mdi-seed:before{content:"\FE45"}.mdi-seed-outline:before{content:"\FE46"}.mdi-segment:before{content:"\FEE8"}.mdi-select:before{content:"\F485"}.mdi-select-all:before{content:"\F486"}.mdi-select-color:before{content:"\FD0D"}.mdi-select-compare:before{content:"\FAD8"}.mdi-select-drag:before{content:"\FA6B"}.mdi-select-group:before{content:"\FF9F"}.mdi-select-inverse:before{content:"\F487"}.mdi-select-marker:before{content:"\F02AB"}.mdi-select-multiple:before{content:"\F02AC"}.mdi-select-multiple-marker:before{content:"\F02AD"}.mdi-select-off:before{content:"\F488"}.mdi-select-place:before{content:"\FFFB"}.mdi-select-search:before{content:"\F022F"}.mdi-selection:before{content:"\F489"}.mdi-selection-drag:before{content:"\FA6C"}.mdi-selection-ellipse:before{content:"\FD0E"}.mdi-selection-ellipse-arrow-inside:before{content:"\FF3F"}.mdi-selection-marker:before{content:"\F02AE"}.mdi-selection-multiple-marker:before{content:"\F02AF"}.mdi-selection-mutliple:before{content:"\F02B0"}.mdi-selection-off:before{content:"\F776"}.mdi-selection-search:before{content:"\F0230"}.mdi-semantic-web:before{content:"\F0341"}.mdi-send:before{content:"\F48A"}.mdi-send-check:before{content:"\F018C"}.mdi-send-check-outline:before{content:"\F018D"}.mdi-send-circle:before{content:"\FE58"}.mdi-send-circle-outline:before{content:"\FE59"}.mdi-send-clock:before{content:"\F018E"}.mdi-send-clock-outline:before{content:"\F018F"}.mdi-send-lock:before{content:"\F7EC"}.mdi-send-lock-outline:before{content:"\F0191"}.mdi-send-outline:before{content:"\F0190"}.mdi-serial-port:before{content:"\F65C"}.mdi-server:before{content:"\F48B"}.mdi-server-minus:before{content:"\F48C"}.mdi-server-network:before{content:"\F48D"}.mdi-server-network-off:before{content:"\F48E"}.mdi-server-off:before{content:"\F48F"}.mdi-server-plus:before{content:"\F490"}.mdi-server-remove:before{content:"\F491"}.mdi-server-security:before{content:"\F492"}.mdi-set-all:before{content:"\F777"}.mdi-set-center:before{content:"\F778"}.mdi-set-center-right:before{content:"\F779"}.mdi-set-left:before{content:"\F77A"}.mdi-set-left-center:before{content:"\F77B"}.mdi-set-left-right:before{content:"\F77C"}.mdi-set-none:before{content:"\F77D"}.mdi-set-right:before{content:"\F77E"}.mdi-set-top-box:before{content:"\F99E"}.mdi-settings:before{content:"\F493"}.mdi-settings-box:before{content:"\F494"}.mdi-settings-helper:before{content:"\FA6D"}.mdi-settings-outline:before{content:"\F8BA"}.mdi-settings-transfer:before{content:"\F007D"}.mdi-settings-transfer-outline:before{content:"\F007E"}.mdi-shaker:before{content:"\F0139"}.mdi-shaker-outline:before{content:"\F013A"}.mdi-shape:before{content:"\F830"}.mdi-shape-circle-plus:before{content:"\F65D"}.mdi-shape-outline:before{content:"\F831"}.mdi-shape-oval-plus:before{content:"\F0225"}.mdi-shape-plus:before{content:"\F495"}.mdi-shape-polygon-plus:before{content:"\F65E"}.mdi-shape-rectangle-plus:before{content:"\F65F"}.mdi-shape-square-plus:before{content:"\F660"}.mdi-share:before{content:"\F496"}.mdi-share-all:before{content:"\F021F"}.mdi-share-all-outline:before{content:"\F0220"}.mdi-share-circle:before{content:"\F01D8"}.mdi-share-off:before{content:"\FF40"}.mdi-share-off-outline:before{content:"\FF41"}.mdi-share-outline:before{content:"\F931"}.mdi-share-variant:before{content:"\F497"}.mdi-sheep:before{content:"\FCA2"}.mdi-shield:before{content:"\F498"}.mdi-shield-account:before{content:"\F88E"}.mdi-shield-account-outline:before{content:"\FA11"}.mdi-shield-airplane:before{content:"\F6BA"}.mdi-shield-airplane-outline:before{content:"\FCA3"}.mdi-shield-alert:before{content:"\FEE9"}.mdi-shield-alert-outline:before{content:"\FEEA"}.mdi-shield-car:before{content:"\FFA0"}.mdi-shield-check:before{content:"\F565"}.mdi-shield-check-outline:before{content:"\FCA4"}.mdi-shield-cross:before{content:"\FCA5"}.mdi-shield-cross-outline:before{content:"\FCA6"}.mdi-shield-edit:before{content:"\F01CB"}.mdi-shield-edit-outline:before{content:"\F01CC"}.mdi-shield-half:before{content:"\F038B"}.mdi-shield-half-full:before{content:"\F77F"}.mdi-shield-home:before{content:"\F689"}.mdi-shield-home-outline:before{content:"\FCA7"}.mdi-shield-key:before{content:"\FBA0"}.mdi-shield-key-outline:before{content:"\FBA1"}.mdi-shield-link-variant:before{content:"\FD0F"}.mdi-shield-link-variant-outline:before{content:"\FD10"}.mdi-shield-lock:before{content:"\F99C"}.mdi-shield-lock-outline:before{content:"\FCA8"}.mdi-shield-off:before{content:"\F99D"}.mdi-shield-off-outline:before{content:"\F99B"}.mdi-shield-outline:before{content:"\F499"}.mdi-shield-plus:before{content:"\FAD9"}.mdi-shield-plus-outline:before{content:"\FADA"}.mdi-shield-refresh:before{content:"\F01CD"}.mdi-shield-refresh-outline:before{content:"\F01CE"}.mdi-shield-remove:before{content:"\FADB"}.mdi-shield-remove-outline:before{content:"\FADC"}.mdi-shield-search:before{content:"\FD76"}.mdi-shield-star:before{content:"\F0166"}.mdi-shield-star-outline:before{content:"\F0167"}.mdi-shield-sun:before{content:"\F007F"}.mdi-shield-sun-outline:before{content:"\F0080"}.mdi-ship-wheel:before{content:"\F832"}.mdi-shoe-formal:before{content:"\FB22"}.mdi-shoe-heel:before{content:"\FB23"}.mdi-shoe-print:before{content:"\FE5A"}.mdi-shopify:before{content:"\FADD"}.mdi-shopping:before{content:"\F49A"}.mdi-shopping-music:before{content:"\F49B"}.mdi-shopping-outline:before{content:"\F0200"}.mdi-shopping-search:before{content:"\FFA1"}.mdi-shovel:before{content:"\F70F"}.mdi-shovel-off:before{content:"\F710"}.mdi-shower:before{content:"\F99F"}.mdi-shower-head:before{content:"\F9A0"}.mdi-shredder:before{content:"\F49C"}.mdi-shuffle:before{content:"\F49D"}.mdi-shuffle-disabled:before{content:"\F49E"}.mdi-shuffle-variant:before{content:"\F49F"}.mdi-shuriken:before{content:"\F03AA"}.mdi-sigma:before{content:"\F4A0"}.mdi-sigma-lower:before{content:"\F62B"}.mdi-sign-caution:before{content:"\F4A1"}.mdi-sign-direction:before{content:"\F780"}.mdi-sign-direction-minus:before{content:"\F0022"}.mdi-sign-direction-plus:before{content:"\FFFD"}.mdi-sign-direction-remove:before{content:"\FFFE"}.mdi-sign-real-estate:before{content:"\F0143"}.mdi-sign-text:before{content:"\F781"}.mdi-signal:before{content:"\F4A2"}.mdi-signal-2g:before{content:"\F711"}.mdi-signal-3g:before{content:"\F712"}.mdi-signal-4g:before{content:"\F713"}.mdi-signal-5g:before{content:"\FA6E"}.mdi-signal-cellular-1:before{content:"\F8BB"}.mdi-signal-cellular-2:before{content:"\F8BC"}.mdi-signal-cellular-3:before{content:"\F8BD"}.mdi-signal-cellular-outline:before{content:"\F8BE"}.mdi-signal-distance-variant:before{content:"\FE47"}.mdi-signal-hspa:before{content:"\F714"}.mdi-signal-hspa-plus:before{content:"\F715"}.mdi-signal-off:before{content:"\F782"}.mdi-signal-variant:before{content:"\F60A"}.mdi-signature:before{content:"\FE5B"}.mdi-signature-freehand:before{content:"\FE5C"}.mdi-signature-image:before{content:"\FE5D"}.mdi-signature-text:before{content:"\FE5E"}.mdi-silo:before{content:"\FB24"}.mdi-silverware:before{content:"\F4A3"}.mdi-silverware-clean:before{content:"\FFFF"}.mdi-silverware-fork:before{content:"\F4A4"}.mdi-silverware-fork-knife:before{content:"\FA6F"}.mdi-silverware-spoon:before{content:"\F4A5"}.mdi-silverware-variant:before{content:"\F4A6"}.mdi-sim:before{content:"\F4A7"}.mdi-sim-alert:before{content:"\F4A8"}.mdi-sim-off:before{content:"\F4A9"}.mdi-simple-icons:before{content:"\F0348"}.mdi-sina-weibo:before{content:"\FADE"}.mdi-sitemap:before{content:"\F4AA"}.mdi-skate:before{content:"\FD11"}.mdi-skew-less:before{content:"\FD12"}.mdi-skew-more:before{content:"\FD13"}.mdi-ski:before{content:"\F032F"}.mdi-ski-cross-country:before{content:"\F0330"}.mdi-ski-water:before{content:"\F0331"}.mdi-skip-backward:before{content:"\F4AB"}.mdi-skip-backward-outline:before{content:"\FF42"}.mdi-skip-forward:before{content:"\F4AC"}.mdi-skip-forward-outline:before{content:"\FF43"}.mdi-skip-next:before{content:"\F4AD"}.mdi-skip-next-circle:before{content:"\F661"}.mdi-skip-next-circle-outline:before{content:"\F662"}.mdi-skip-next-outline:before{content:"\FF44"}.mdi-skip-previous:before{content:"\F4AE"}.mdi-skip-previous-circle:before{content:"\F663"}.mdi-skip-previous-circle-outline:before{content:"\F664"}.mdi-skip-previous-outline:before{content:"\FF45"}.mdi-skull:before{content:"\F68B"}.mdi-skull-crossbones:before{content:"\FBA2"}.mdi-skull-crossbones-outline:before{content:"\FBA3"}.mdi-skull-outline:before{content:"\FBA4"}.mdi-skype:before{content:"\F4AF"}.mdi-skype-business:before{content:"\F4B0"}.mdi-slack:before{content:"\F4B1"}.mdi-slackware:before{content:"\F90A"}.mdi-slash-forward:before{content:"\F0000"}.mdi-slash-forward-box:before{content:"\F0001"}.mdi-sleep:before{content:"\F4B2"}.mdi-sleep-off:before{content:"\F4B3"}.mdi-slope-downhill:before{content:"\FE5F"}.mdi-slope-uphill:before{content:"\FE60"}.mdi-slot-machine:before{content:"\F013F"}.mdi-slot-machine-outline:before{content:"\F0140"}.mdi-smart-card:before{content:"\F00E8"}.mdi-smart-card-outline:before{content:"\F00E9"}.mdi-smart-card-reader:before{content:"\F00EA"}.mdi-smart-card-reader-outline:before{content:"\F00EB"}.mdi-smog:before{content:"\FA70"}.mdi-smoke-detector:before{content:"\F392"}.mdi-smoking:before{content:"\F4B4"}.mdi-smoking-off:before{content:"\F4B5"}.mdi-snapchat:before{content:"\F4B6"}.mdi-snowboard:before{content:"\F0332"}.mdi-snowflake:before{content:"\F716"}.mdi-snowflake-alert:before{content:"\FF46"}.mdi-snowflake-melt:before{content:"\F02F6"}.mdi-snowflake-variant:before{content:"\FF47"}.mdi-snowman:before{content:"\F4B7"}.mdi-soccer:before{content:"\F4B8"}.mdi-soccer-field:before{content:"\F833"}.mdi-sofa:before{content:"\F4B9"}.mdi-solar-panel:before{content:"\FD77"}.mdi-solar-panel-large:before{content:"\FD78"}.mdi-solar-power:before{content:"\FA71"}.mdi-soldering-iron:before{content:"\F00BD"}.mdi-solid:before{content:"\F68C"}.mdi-sort:before{content:"\F4BA"}.mdi-sort-alphabetical:before{content:"\F4BB"}.mdi-sort-alphabetical-ascending:before{content:"\F0173"}.mdi-sort-alphabetical-descending:before{content:"\F0174"}.mdi-sort-ascending:before{content:"\F4BC"}.mdi-sort-descending:before{content:"\F4BD"}.mdi-sort-numeric:before{content:"\F4BE"}.mdi-sort-variant:before{content:"\F4BF"}.mdi-sort-variant-lock:before{content:"\FCA9"}.mdi-sort-variant-lock-open:before{content:"\FCAA"}.mdi-sort-variant-remove:before{content:"\F0172"}.mdi-soundcloud:before{content:"\F4C0"}.mdi-source-branch:before{content:"\F62C"}.mdi-source-commit:before{content:"\F717"}.mdi-source-commit-end:before{content:"\F718"}.mdi-source-commit-end-local:before{content:"\F719"}.mdi-source-commit-local:before{content:"\F71A"}.mdi-source-commit-next-local:before{content:"\F71B"}.mdi-source-commit-start:before{content:"\F71C"}.mdi-source-commit-start-next-local:before{content:"\F71D"}.mdi-source-fork:before{content:"\F4C1"}.mdi-source-merge:before{content:"\F62D"}.mdi-source-pull:before{content:"\F4C2"}.mdi-source-repository:before{content:"\FCAB"}.mdi-source-repository-multiple:before{content:"\FCAC"}.mdi-soy-sauce:before{content:"\F7ED"}.mdi-spa:before{content:"\FCAD"}.mdi-spa-outline:before{content:"\FCAE"}.mdi-space-invaders:before{content:"\FBA5"}.mdi-space-station:before{content:"\F03AE"}.mdi-spade:before{content:"\FE48"}.mdi-speaker:before{content:"\F4C3"}.mdi-speaker-bluetooth:before{content:"\F9A1"}.mdi-speaker-multiple:before{content:"\FD14"}.mdi-speaker-off:before{content:"\F4C4"}.mdi-speaker-wireless:before{content:"\F71E"}.mdi-speedometer:before{content:"\F4C5"}.mdi-speedometer-medium:before{content:"\FFA2"}.mdi-speedometer-slow:before{content:"\FFA3"}.mdi-spellcheck:before{content:"\F4C6"}.mdi-spider:before{content:"\F0215"}.mdi-spider-thread:before{content:"\F0216"}.mdi-spider-web:before{content:"\FBA6"}.mdi-spotify:before{content:"\F4C7"}.mdi-spotlight:before{content:"\F4C8"}.mdi-spotlight-beam:before{content:"\F4C9"}.mdi-spray:before{content:"\F665"}.mdi-spray-bottle:before{content:"\FADF"}.mdi-sprinkler:before{content:"\F0081"}.mdi-sprinkler-variant:before{content:"\F0082"}.mdi-sprout:before{content:"\FE49"}.mdi-sprout-outline:before{content:"\FE4A"}.mdi-square:before{content:"\F763"}.mdi-square-edit-outline:before{content:"\F90B"}.mdi-square-inc:before{content:"\F4CA"}.mdi-square-inc-cash:before{content:"\F4CB"}.mdi-square-medium:before{content:"\FA12"}.mdi-square-medium-outline:before{content:"\FA13"}.mdi-square-off:before{content:"\F0319"}.mdi-square-off-outline:before{content:"\F031A"}.mdi-square-outline:before{content:"\F762"}.mdi-square-root:before{content:"\F783"}.mdi-square-root-box:before{content:"\F9A2"}.mdi-square-small:before{content:"\FA14"}.mdi-squeegee:before{content:"\FAE0"}.mdi-ssh:before{content:"\F8BF"}.mdi-stack-exchange:before{content:"\F60B"}.mdi-stack-overflow:before{content:"\F4CC"}.mdi-stackpath:before{content:"\F359"}.mdi-stadium:before{content:"\F001A"}.mdi-stadium-variant:before{content:"\F71F"}.mdi-stairs:before{content:"\F4CD"}.mdi-stairs-down:before{content:"\F02E9"}.mdi-stairs-up:before{content:"\F02E8"}.mdi-stamper:before{content:"\FD15"}.mdi-standard-definition:before{content:"\F7EE"}.mdi-star:before{content:"\F4CE"}.mdi-star-box:before{content:"\FA72"}.mdi-star-box-multiple:before{content:"\F02B1"}.mdi-star-box-multiple-outline:before{content:"\F02B2"}.mdi-star-box-outline:before{content:"\FA73"}.mdi-star-circle:before{content:"\F4CF"}.mdi-star-circle-outline:before{content:"\F9A3"}.mdi-star-face:before{content:"\F9A4"}.mdi-star-four-points:before{content:"\FAE1"}.mdi-star-four-points-outline:before{content:"\FAE2"}.mdi-star-half:before{content:"\F4D0"}.mdi-star-off:before{content:"\F4D1"}.mdi-star-outline:before{content:"\F4D2"}.mdi-star-three-points:before{content:"\FAE3"}.mdi-star-three-points-outline:before{content:"\FAE4"}.mdi-state-machine:before{content:"\F021A"}.mdi-steam:before{content:"\F4D3"}.mdi-steam-box:before{content:"\F90C"}.mdi-steering:before{content:"\F4D4"}.mdi-steering-off:before{content:"\F90D"}.mdi-step-backward:before{content:"\F4D5"}.mdi-step-backward-2:before{content:"\F4D6"}.mdi-step-forward:before{content:"\F4D7"}.mdi-step-forward-2:before{content:"\F4D8"}.mdi-stethoscope:before{content:"\F4D9"}.mdi-sticker:before{content:"\F038F"}.mdi-sticker-alert:before{content:"\F0390"}.mdi-sticker-alert-outline:before{content:"\F0391"}.mdi-sticker-check:before{content:"\F0392"}.mdi-sticker-check-outline:before{content:"\F0393"}.mdi-sticker-circle-outline:before{content:"\F5D0"}.mdi-sticker-emoji:before{content:"\F784"}.mdi-sticker-minus:before{content:"\F0394"}.mdi-sticker-minus-outline:before{content:"\F0395"}.mdi-sticker-outline:before{content:"\F0396"}.mdi-sticker-plus:before{content:"\F0397"}.mdi-sticker-plus-outline:before{content:"\F0398"}.mdi-sticker-remove:before{content:"\F0399"}.mdi-sticker-remove-outline:before{content:"\F039A"}.mdi-stocking:before{content:"\F4DA"}.mdi-stomach:before{content:"\F00BE"}.mdi-stop:before{content:"\F4DB"}.mdi-stop-circle:before{content:"\F666"}.mdi-stop-circle-outline:before{content:"\F667"}.mdi-store:before{content:"\F4DC"}.mdi-store-24-hour:before{content:"\F4DD"}.mdi-store-outline:before{content:"\F038C"}.mdi-storefront:before{content:"\F00EC"}.mdi-stove:before{content:"\F4DE"}.mdi-strategy:before{content:"\F0201"}.mdi-strava:before{content:"\FB25"}.mdi-stretch-to-page:before{content:"\FF48"}.mdi-stretch-to-page-outline:before{content:"\FF49"}.mdi-string-lights:before{content:"\F02E5"}.mdi-string-lights-off:before{content:"\F02E6"}.mdi-subdirectory-arrow-left:before{content:"\F60C"}.mdi-subdirectory-arrow-right:before{content:"\F60D"}.mdi-subtitles:before{content:"\FA15"}.mdi-subtitles-outline:before{content:"\FA16"}.mdi-subway:before{content:"\F6AB"}.mdi-subway-alert-variant:before{content:"\FD79"}.mdi-subway-variant:before{content:"\F4DF"}.mdi-summit:before{content:"\F785"}.mdi-sunglasses:before{content:"\F4E0"}.mdi-surround-sound:before{content:"\F5C5"}.mdi-surround-sound-2-0:before{content:"\F7EF"}.mdi-surround-sound-3-1:before{content:"\F7F0"}.mdi-surround-sound-5-1:before{content:"\F7F1"}.mdi-surround-sound-7-1:before{content:"\F7F2"}.mdi-svg:before{content:"\F720"}.mdi-swap-horizontal:before{content:"\F4E1"}.mdi-swap-horizontal-bold:before{content:"\FBA9"}.mdi-swap-horizontal-circle:before{content:"\F0002"}.mdi-swap-horizontal-circle-outline:before{content:"\F0003"}.mdi-swap-horizontal-variant:before{content:"\F8C0"}.mdi-swap-vertical:before{content:"\F4E2"}.mdi-swap-vertical-bold:before{content:"\FBAA"}.mdi-swap-vertical-circle:before{content:"\F0004"}.mdi-swap-vertical-circle-outline:before{content:"\F0005"}.mdi-swap-vertical-variant:before{content:"\F8C1"}.mdi-swim:before{content:"\F4E3"}.mdi-switch:before{content:"\F4E4"}.mdi-sword:before{content:"\F4E5"}.mdi-sword-cross:before{content:"\F786"}.mdi-syllabary-hangul:before{content:"\F035E"}.mdi-syllabary-hiragana:before{content:"\F035F"}.mdi-syllabary-katakana:before{content:"\F0360"}.mdi-syllabary-katakana-half-width:before{content:"\F0361"}.mdi-symfony:before{content:"\FAE5"}.mdi-sync:before{content:"\F4E6"}.mdi-sync-alert:before{content:"\F4E7"}.mdi-sync-circle:before{content:"\F03A3"}.mdi-sync-off:before{content:"\F4E8"}.mdi-tab:before{content:"\F4E9"}.mdi-tab-minus:before{content:"\FB26"}.mdi-tab-plus:before{content:"\F75B"}.mdi-tab-remove:before{content:"\FB27"}.mdi-tab-unselected:before{content:"\F4EA"}.mdi-table:before{content:"\F4EB"}.mdi-table-border:before{content:"\FA17"}.mdi-table-chair:before{content:"\F0083"}.mdi-table-column:before{content:"\F834"}.mdi-table-column-plus-after:before{content:"\F4EC"}.mdi-table-column-plus-before:before{content:"\F4ED"}.mdi-table-column-remove:before{content:"\F4EE"}.mdi-table-column-width:before{content:"\F4EF"}.mdi-table-edit:before{content:"\F4F0"}.mdi-table-eye:before{content:"\F00BF"}.mdi-table-headers-eye:before{content:"\F0248"}.mdi-table-headers-eye-off:before{content:"\F0249"}.mdi-table-large:before{content:"\F4F1"}.mdi-table-large-plus:before{content:"\FFA4"}.mdi-table-large-remove:before{content:"\FFA5"}.mdi-table-merge-cells:before{content:"\F9A5"}.mdi-table-of-contents:before{content:"\F835"}.mdi-table-plus:before{content:"\FA74"}.mdi-table-remove:before{content:"\FA75"}.mdi-table-row:before{content:"\F836"}.mdi-table-row-height:before{content:"\F4F2"}.mdi-table-row-plus-after:before{content:"\F4F3"}.mdi-table-row-plus-before:before{content:"\F4F4"}.mdi-table-row-remove:before{content:"\F4F5"}.mdi-table-search:before{content:"\F90E"}.mdi-table-settings:before{content:"\F837"}.mdi-table-tennis:before{content:"\FE4B"}.mdi-tablet:before{content:"\F4F6"}.mdi-tablet-android:before{content:"\F4F7"}.mdi-tablet-cellphone:before{content:"\F9A6"}.mdi-tablet-dashboard:before{content:"\FEEB"}.mdi-tablet-ipad:before{content:"\F4F8"}.mdi-taco:before{content:"\F761"}.mdi-tag:before{content:"\F4F9"}.mdi-tag-faces:before{content:"\F4FA"}.mdi-tag-heart:before{content:"\F68A"}.mdi-tag-heart-outline:before{content:"\FBAB"}.mdi-tag-minus:before{content:"\F90F"}.mdi-tag-minus-outline:before{content:"\F024A"}.mdi-tag-multiple:before{content:"\F4FB"}.mdi-tag-multiple-outline:before{content:"\F0322"}.mdi-tag-off:before{content:"\F024B"}.mdi-tag-off-outline:before{content:"\F024C"}.mdi-tag-outline:before{content:"\F4FC"}.mdi-tag-plus:before{content:"\F721"}.mdi-tag-plus-outline:before{content:"\F024D"}.mdi-tag-remove:before{content:"\F722"}.mdi-tag-remove-outline:before{content:"\F024E"}.mdi-tag-text:before{content:"\F024F"}.mdi-tag-text-outline:before{content:"\F4FD"}.mdi-tank:before{content:"\FD16"}.mdi-tanker-truck:before{content:"\F0006"}.mdi-tape-measure:before{content:"\FB28"}.mdi-target:before{content:"\F4FE"}.mdi-target-account:before{content:"\FBAC"}.mdi-target-variant:before{content:"\FA76"}.mdi-taxi:before{content:"\F4FF"}.mdi-tea:before{content:"\FD7A"}.mdi-tea-outline:before{content:"\FD7B"}.mdi-teach:before{content:"\F88F"}.mdi-teamviewer:before{content:"\F500"}.mdi-telegram:before{content:"\F501"}.mdi-telescope:before{content:"\FB29"}.mdi-television:before{content:"\F502"}.mdi-television-ambient-light:before{content:"\F0381"}.mdi-television-box:before{content:"\F838"}.mdi-television-classic:before{content:"\F7F3"}.mdi-television-classic-off:before{content:"\F839"}.mdi-television-clean:before{content:"\F013B"}.mdi-television-guide:before{content:"\F503"}.mdi-television-off:before{content:"\F83A"}.mdi-television-pause:before{content:"\FFA6"}.mdi-television-play:before{content:"\FEEC"}.mdi-television-stop:before{content:"\FFA7"}.mdi-temperature-celsius:before{content:"\F504"}.mdi-temperature-fahrenheit:before{content:"\F505"}.mdi-temperature-kelvin:before{content:"\F506"}.mdi-tennis:before{content:"\FD7C"}.mdi-tennis-ball:before{content:"\F507"}.mdi-tent:before{content:"\F508"}.mdi-terraform:before{content:"\F0084"}.mdi-terrain:before{content:"\F509"}.mdi-test-tube:before{content:"\F668"}.mdi-test-tube-empty:before{content:"\F910"}.mdi-test-tube-off:before{content:"\F911"}.mdi-text:before{content:"\F9A7"}.mdi-text-recognition:before{content:"\F0168"}.mdi-text-shadow:before{content:"\F669"}.mdi-text-short:before{content:"\F9A8"}.mdi-text-subject:before{content:"\F9A9"}.mdi-text-to-speech:before{content:"\F50A"}.mdi-text-to-speech-off:before{content:"\F50B"}.mdi-textarea:before{content:"\F00C0"}.mdi-textbox:before{content:"\F60E"}.mdi-textbox-lock:before{content:"\F0388"}.mdi-textbox-password:before{content:"\F7F4"}.mdi-texture:before{content:"\F50C"}.mdi-texture-box:before{content:"\F0007"}.mdi-theater:before{content:"\F50D"}.mdi-theme-light-dark:before{content:"\F50E"}.mdi-thermometer:before{content:"\F50F"}.mdi-thermometer-alert:before{content:"\FE61"}.mdi-thermometer-chevron-down:before{content:"\FE62"}.mdi-thermometer-chevron-up:before{content:"\FE63"}.mdi-thermometer-high:before{content:"\F00ED"}.mdi-thermometer-lines:before{content:"\F510"}.mdi-thermometer-low:before{content:"\F00EE"}.mdi-thermometer-minus:before{content:"\FE64"}.mdi-thermometer-plus:before{content:"\FE65"}.mdi-thermostat:before{content:"\F393"}.mdi-thermostat-box:before{content:"\F890"}.mdi-thought-bubble:before{content:"\F7F5"}.mdi-thought-bubble-outline:before{content:"\F7F6"}.mdi-thumb-down:before{content:"\F511"}.mdi-thumb-down-outline:before{content:"\F512"}.mdi-thumb-up:before{content:"\F513"}.mdi-thumb-up-outline:before{content:"\F514"}.mdi-thumbs-up-down:before{content:"\F515"}.mdi-ticket:before{content:"\F516"}.mdi-ticket-account:before{content:"\F517"}.mdi-ticket-confirmation:before{content:"\F518"}.mdi-ticket-outline:before{content:"\F912"}.mdi-ticket-percent:before{content:"\F723"}.mdi-tie:before{content:"\F519"}.mdi-tilde:before{content:"\F724"}.mdi-timelapse:before{content:"\F51A"}.mdi-timeline:before{content:"\FBAD"}.mdi-timeline-alert:before{content:"\FFB2"}.mdi-timeline-alert-outline:before{content:"\FFB5"}.mdi-timeline-clock:before{content:"\F0226"}.mdi-timeline-clock-outline:before{content:"\F0227"}.mdi-timeline-help:before{content:"\FFB6"}.mdi-timeline-help-outline:before{content:"\FFB7"}.mdi-timeline-outline:before{content:"\FBAE"}.mdi-timeline-plus:before{content:"\FFB3"}.mdi-timeline-plus-outline:before{content:"\FFB4"}.mdi-timeline-text:before{content:"\FBAF"}.mdi-timeline-text-outline:before{content:"\FBB0"}.mdi-timer:before{content:"\F51B"}.mdi-timer-10:before{content:"\F51C"}.mdi-timer-3:before{content:"\F51D"}.mdi-timer-off:before{content:"\F51E"}.mdi-timer-sand:before{content:"\F51F"}.mdi-timer-sand-empty:before{content:"\F6AC"}.mdi-timer-sand-full:before{content:"\F78B"}.mdi-timetable:before{content:"\F520"}.mdi-toaster:before{content:"\F0085"}.mdi-toaster-off:before{content:"\F01E2"}.mdi-toaster-oven:before{content:"\FCAF"}.mdi-toggle-switch:before{content:"\F521"}.mdi-toggle-switch-off:before{content:"\F522"}.mdi-toggle-switch-off-outline:before{content:"\FA18"}.mdi-toggle-switch-outline:before{content:"\FA19"}.mdi-toilet:before{content:"\F9AA"}.mdi-toolbox:before{content:"\F9AB"}.mdi-toolbox-outline:before{content:"\F9AC"}.mdi-tools:before{content:"\F0086"}.mdi-tooltip:before{content:"\F523"}.mdi-tooltip-account:before{content:"\F00C"}.mdi-tooltip-edit:before{content:"\F524"}.mdi-tooltip-edit-outline:before{content:"\F02F0"}.mdi-tooltip-image:before{content:"\F525"}.mdi-tooltip-image-outline:before{content:"\FBB1"}.mdi-tooltip-outline:before{content:"\F526"}.mdi-tooltip-plus:before{content:"\FBB2"}.mdi-tooltip-plus-outline:before{content:"\F527"}.mdi-tooltip-text:before{content:"\F528"}.mdi-tooltip-text-outline:before{content:"\FBB3"}.mdi-tooth:before{content:"\F8C2"}.mdi-tooth-outline:before{content:"\F529"}.mdi-toothbrush:before{content:"\F0154"}.mdi-toothbrush-electric:before{content:"\F0157"}.mdi-toothbrush-paste:before{content:"\F0155"}.mdi-tor:before{content:"\F52A"}.mdi-tortoise:before{content:"\FD17"}.mdi-toslink:before{content:"\F02E3"}.mdi-tournament:before{content:"\F9AD"}.mdi-tower-beach:before{content:"\F680"}.mdi-tower-fire:before{content:"\F681"}.mdi-towing:before{content:"\F83B"}.mdi-toy-brick:before{content:"\F02B3"}.mdi-toy-brick-marker:before{content:"\F02B4"}.mdi-toy-brick-marker-outline:before{content:"\F02B5"}.mdi-toy-brick-minus:before{content:"\F02B6"}.mdi-toy-brick-minus-outline:before{content:"\F02B7"}.mdi-toy-brick-outline:before{content:"\F02B8"}.mdi-toy-brick-plus:before{content:"\F02B9"}.mdi-toy-brick-plus-outline:before{content:"\F02BA"}.mdi-toy-brick-remove:before{content:"\F02BB"}.mdi-toy-brick-remove-outline:before{content:"\F02BC"}.mdi-toy-brick-search:before{content:"\F02BD"}.mdi-toy-brick-search-outline:before{content:"\F02BE"}.mdi-track-light:before{content:"\F913"}.mdi-trackpad:before{content:"\F7F7"}.mdi-trackpad-lock:before{content:"\F932"}.mdi-tractor:before{content:"\F891"}.mdi-trademark:before{content:"\FA77"}.mdi-traffic-cone:before{content:"\F03A7"}.mdi-traffic-light:before{content:"\F52B"}.mdi-train:before{content:"\F52C"}.mdi-train-car:before{content:"\FBB4"}.mdi-train-variant:before{content:"\F8C3"}.mdi-tram:before{content:"\F52D"}.mdi-tram-side:before{content:"\F0008"}.mdi-transcribe:before{content:"\F52E"}.mdi-transcribe-close:before{content:"\F52F"}.mdi-transfer:before{content:"\F0087"}.mdi-transfer-down:before{content:"\FD7D"}.mdi-transfer-left:before{content:"\FD7E"}.mdi-transfer-right:before{content:"\F530"}.mdi-transfer-up:before{content:"\FD7F"}.mdi-transit-connection:before{content:"\FD18"}.mdi-transit-connection-variant:before{content:"\FD19"}.mdi-transit-detour:before{content:"\FFA8"}.mdi-transit-transfer:before{content:"\F6AD"}.mdi-transition:before{content:"\F914"}.mdi-transition-masked:before{content:"\F915"}.mdi-translate:before{content:"\F5CA"}.mdi-translate-off:before{content:"\FE66"}.mdi-transmission-tower:before{content:"\FD1A"}.mdi-trash-can:before{content:"\FA78"}.mdi-trash-can-outline:before{content:"\FA79"}.mdi-tray:before{content:"\F02BF"}.mdi-tray-alert:before{content:"\F02C0"}.mdi-tray-full:before{content:"\F02C1"}.mdi-tray-minus:before{content:"\F02C2"}.mdi-tray-plus:before{content:"\F02C3"}.mdi-tray-remove:before{content:"\F02C4"}.mdi-treasure-chest:before{content:"\F725"}.mdi-tree:before{content:"\F531"}.mdi-tree-outline:before{content:"\FE4C"}.mdi-trello:before{content:"\F532"}.mdi-trending-down:before{content:"\F533"}.mdi-trending-neutral:before{content:"\F534"}.mdi-trending-up:before{content:"\F535"}.mdi-triangle:before{content:"\F536"}.mdi-triangle-outline:before{content:"\F537"}.mdi-triforce:before{content:"\FBB5"}.mdi-trophy:before{content:"\F538"}.mdi-trophy-award:before{content:"\F539"}.mdi-trophy-broken:before{content:"\FD80"}.mdi-trophy-outline:before{content:"\F53A"}.mdi-trophy-variant:before{content:"\F53B"}.mdi-trophy-variant-outline:before{content:"\F53C"}.mdi-truck:before{content:"\F53D"}.mdi-truck-check:before{content:"\FCB0"}.mdi-truck-check-outline:before{content:"\F02C5"}.mdi-truck-delivery:before{content:"\F53E"}.mdi-truck-delivery-outline:before{content:"\F02C6"}.mdi-truck-fast:before{content:"\F787"}.mdi-truck-fast-outline:before{content:"\F02C7"}.mdi-truck-outline:before{content:"\F02C8"}.mdi-truck-trailer:before{content:"\F726"}.mdi-trumpet:before{content:"\F00C1"}.mdi-tshirt-crew:before{content:"\FA7A"}.mdi-tshirt-crew-outline:before{content:"\F53F"}.mdi-tshirt-v:before{content:"\FA7B"}.mdi-tshirt-v-outline:before{content:"\F540"}.mdi-tumble-dryer:before{content:"\F916"}.mdi-tumble-dryer-alert:before{content:"\F01E5"}.mdi-tumble-dryer-off:before{content:"\F01E6"}.mdi-tumblr:before{content:"\F541"}.mdi-tumblr-box:before{content:"\F917"}.mdi-tumblr-reblog:before{content:"\F542"}.mdi-tune:before{content:"\F62E"}.mdi-tune-vertical:before{content:"\F66A"}.mdi-turnstile:before{content:"\FCB1"}.mdi-turnstile-outline:before{content:"\FCB2"}.mdi-turtle:before{content:"\FCB3"}.mdi-twitch:before{content:"\F543"}.mdi-twitter:before{content:"\F544"}.mdi-twitter-box:before{content:"\F545"}.mdi-twitter-circle:before{content:"\F546"}.mdi-twitter-retweet:before{content:"\F547"}.mdi-two-factor-authentication:before{content:"\F9AE"}.mdi-typewriter:before{content:"\FF4A"}.mdi-uber:before{content:"\F748"}.mdi-ubisoft:before{content:"\FBB6"}.mdi-ubuntu:before{content:"\F548"}.mdi-ufo:before{content:"\F00EF"}.mdi-ufo-outline:before{content:"\F00F0"}.mdi-ultra-high-definition:before{content:"\F7F8"}.mdi-umbraco:before{content:"\F549"}.mdi-umbrella:before{content:"\F54A"}.mdi-umbrella-closed:before{content:"\F9AF"}.mdi-umbrella-outline:before{content:"\F54B"}.mdi-undo:before{content:"\F54C"}.mdi-undo-variant:before{content:"\F54D"}.mdi-unfold-less-horizontal:before{content:"\F54E"}.mdi-unfold-less-vertical:before{content:"\F75F"}.mdi-unfold-more-horizontal:before{content:"\F54F"}.mdi-unfold-more-vertical:before{content:"\F760"}.mdi-ungroup:before{content:"\F550"}.mdi-unicode:before{content:"\FEED"}.mdi-unity:before{content:"\F6AE"}.mdi-unreal:before{content:"\F9B0"}.mdi-untappd:before{content:"\F551"}.mdi-update:before{content:"\F6AF"}.mdi-upload:before{content:"\F552"}.mdi-upload-lock:before{content:"\F039E"}.mdi-upload-lock-outline:before{content:"\F039F"}.mdi-upload-multiple:before{content:"\F83C"}.mdi-upload-network:before{content:"\F6F5"}.mdi-upload-network-outline:before{content:"\FCB4"}.mdi-upload-off:before{content:"\F00F1"}.mdi-upload-off-outline:before{content:"\F00F2"}.mdi-upload-outline:before{content:"\FE67"}.mdi-usb:before{content:"\F553"}.mdi-usb-flash-drive:before{content:"\F02C9"}.mdi-usb-flash-drive-outline:before{content:"\F02CA"}.mdi-usb-port:before{content:"\F021B"}.mdi-valve:before{content:"\F0088"}.mdi-valve-closed:before{content:"\F0089"}.mdi-valve-open:before{content:"\F008A"}.mdi-van-passenger:before{content:"\F7F9"}.mdi-van-utility:before{content:"\F7FA"}.mdi-vanish:before{content:"\F7FB"}.mdi-vanity-light:before{content:"\F020C"}.mdi-variable:before{content:"\FAE6"}.mdi-variable-box:before{content:"\F013C"}.mdi-vector-arrange-above:before{content:"\F554"}.mdi-vector-arrange-below:before{content:"\F555"}.mdi-vector-bezier:before{content:"\FAE7"}.mdi-vector-circle:before{content:"\F556"}.mdi-vector-circle-variant:before{content:"\F557"}.mdi-vector-combine:before{content:"\F558"}.mdi-vector-curve:before{content:"\F559"}.mdi-vector-difference:before{content:"\F55A"}.mdi-vector-difference-ab:before{content:"\F55B"}.mdi-vector-difference-ba:before{content:"\F55C"}.mdi-vector-ellipse:before{content:"\F892"}.mdi-vector-intersection:before{content:"\F55D"}.mdi-vector-line:before{content:"\F55E"}.mdi-vector-link:before{content:"\F0009"}.mdi-vector-point:before{content:"\F55F"}.mdi-vector-polygon:before{content:"\F560"}.mdi-vector-polyline:before{content:"\F561"}.mdi-vector-polyline-edit:before{content:"\F0250"}.mdi-vector-polyline-minus:before{content:"\F0251"}.mdi-vector-polyline-plus:before{content:"\F0252"}.mdi-vector-polyline-remove:before{content:"\F0253"}.mdi-vector-radius:before{content:"\F749"}.mdi-vector-rectangle:before{content:"\F5C6"}.mdi-vector-selection:before{content:"\F562"}.mdi-vector-square:before{content:"\F001"}.mdi-vector-triangle:before{content:"\F563"}.mdi-vector-union:before{content:"\F564"}.mdi-venmo:before{content:"\F578"}.mdi-vhs:before{content:"\FA1A"}.mdi-vibrate:before{content:"\F566"}.mdi-vibrate-off:before{content:"\FCB5"}.mdi-video:before{content:"\F567"}.mdi-video-3d:before{content:"\F7FC"}.mdi-video-3d-variant:before{content:"\FEEE"}.mdi-video-4k-box:before{content:"\F83D"}.mdi-video-account:before{content:"\F918"}.mdi-video-check:before{content:"\F008B"}.mdi-video-check-outline:before{content:"\F008C"}.mdi-video-image:before{content:"\F919"}.mdi-video-input-antenna:before{content:"\F83E"}.mdi-video-input-component:before{content:"\F83F"}.mdi-video-input-hdmi:before{content:"\F840"}.mdi-video-input-scart:before{content:"\FFA9"}.mdi-video-input-svideo:before{content:"\F841"}.mdi-video-minus:before{content:"\F9B1"}.mdi-video-off:before{content:"\F568"}.mdi-video-off-outline:before{content:"\FBB7"}.mdi-video-outline:before{content:"\FBB8"}.mdi-video-plus:before{content:"\F9B2"}.mdi-video-stabilization:before{content:"\F91A"}.mdi-video-switch:before{content:"\F569"}.mdi-video-vintage:before{content:"\FA1B"}.mdi-video-wireless:before{content:"\FEEF"}.mdi-video-wireless-outline:before{content:"\FEF0"}.mdi-view-agenda:before{content:"\F56A"}.mdi-view-agenda-outline:before{content:"\F0203"}.mdi-view-array:before{content:"\F56B"}.mdi-view-carousel:before{content:"\F56C"}.mdi-view-column:before{content:"\F56D"}.mdi-view-comfy:before{content:"\FE4D"}.mdi-view-compact:before{content:"\FE4E"}.mdi-view-compact-outline:before{content:"\FE4F"}.mdi-view-dashboard:before{content:"\F56E"}.mdi-view-dashboard-outline:before{content:"\FA1C"}.mdi-view-dashboard-variant:before{content:"\F842"}.mdi-view-day:before{content:"\F56F"}.mdi-view-grid:before{content:"\F570"}.mdi-view-grid-outline:before{content:"\F0204"}.mdi-view-grid-plus:before{content:"\FFAA"}.mdi-view-grid-plus-outline:before{content:"\F0205"}.mdi-view-headline:before{content:"\F571"}.mdi-view-list:before{content:"\F572"}.mdi-view-module:before{content:"\F573"}.mdi-view-parallel:before{content:"\F727"}.mdi-view-quilt:before{content:"\F574"}.mdi-view-sequential:before{content:"\F728"}.mdi-view-split-horizontal:before{content:"\FBA7"}.mdi-view-split-vertical:before{content:"\FBA8"}.mdi-view-stream:before{content:"\F575"}.mdi-view-week:before{content:"\F576"}.mdi-vimeo:before{content:"\F577"}.mdi-violin:before{content:"\F60F"}.mdi-virtual-reality:before{content:"\F893"}.mdi-visual-studio:before{content:"\F610"}.mdi-visual-studio-code:before{content:"\FA1D"}.mdi-vk:before{content:"\F579"}.mdi-vk-box:before{content:"\F57A"}.mdi-vk-circle:before{content:"\F57B"}.mdi-vlc:before{content:"\F57C"}.mdi-voice:before{content:"\F5CB"}.mdi-voice-off:before{content:"\FEF1"}.mdi-voicemail:before{content:"\F57D"}.mdi-volleyball:before{content:"\F9B3"}.mdi-volume-high:before{content:"\F57E"}.mdi-volume-low:before{content:"\F57F"}.mdi-volume-medium:before{content:"\F580"}.mdi-volume-minus:before{content:"\F75D"}.mdi-volume-mute:before{content:"\F75E"}.mdi-volume-off:before{content:"\F581"}.mdi-volume-plus:before{content:"\F75C"}.mdi-volume-source:before{content:"\F014B"}.mdi-volume-variant-off:before{content:"\FE68"}.mdi-volume-vibrate:before{content:"\F014C"}.mdi-vote:before{content:"\FA1E"}.mdi-vote-outline:before{content:"\FA1F"}.mdi-vpn:before{content:"\F582"}.mdi-vuejs:before{content:"\F843"}.mdi-vuetify:before{content:"\FE50"}.mdi-walk:before{content:"\F583"}.mdi-wall:before{content:"\F7FD"}.mdi-wall-sconce:before{content:"\F91B"}.mdi-wall-sconce-flat:before{content:"\F91C"}.mdi-wall-sconce-variant:before{content:"\F91D"}.mdi-wallet:before{content:"\F584"}.mdi-wallet-giftcard:before{content:"\F585"}.mdi-wallet-membership:before{content:"\F586"}.mdi-wallet-outline:before{content:"\FBB9"}.mdi-wallet-plus:before{content:"\FFAB"}.mdi-wallet-plus-outline:before{content:"\FFAC"}.mdi-wallet-travel:before{content:"\F587"}.mdi-wallpaper:before{content:"\FE69"}.mdi-wan:before{content:"\F588"}.mdi-wardrobe:before{content:"\FFAD"}.mdi-wardrobe-outline:before{content:"\FFAE"}.mdi-warehouse:before{content:"\FFBB"}.mdi-washing-machine:before{content:"\F729"}.mdi-washing-machine-alert:before{content:"\F01E7"}.mdi-washing-machine-off:before{content:"\F01E8"}.mdi-watch:before{content:"\F589"}.mdi-watch-export:before{content:"\F58A"}.mdi-watch-export-variant:before{content:"\F894"}.mdi-watch-import:before{content:"\F58B"}.mdi-watch-import-variant:before{content:"\F895"}.mdi-watch-variant:before{content:"\F896"}.mdi-watch-vibrate:before{content:"\F6B0"}.mdi-watch-vibrate-off:before{content:"\FCB6"}.mdi-water:before{content:"\F58C"}.mdi-water-boiler:before{content:"\FFAF"}.mdi-water-boiler-alert:before{content:"\F01DE"}.mdi-water-boiler-off:before{content:"\F01DF"}.mdi-water-off:before{content:"\F58D"}.mdi-water-outline:before{content:"\FE6A"}.mdi-water-percent:before{content:"\F58E"}.mdi-water-polo:before{content:"\F02CB"}.mdi-water-pump:before{content:"\F58F"}.mdi-water-pump-off:before{content:"\FFB0"}.mdi-water-well:before{content:"\F008D"}.mdi-water-well-outline:before{content:"\F008E"}.mdi-watermark:before{content:"\F612"}.mdi-wave:before{content:"\FF4B"}.mdi-waves:before{content:"\F78C"}.mdi-waze:before{content:"\FBBA"}.mdi-weather-cloudy:before{content:"\F590"}.mdi-weather-cloudy-alert:before{content:"\FF4C"}.mdi-weather-cloudy-arrow-right:before{content:"\FE51"}.mdi-weather-fog:before{content:"\F591"}.mdi-weather-hail:before{content:"\F592"}.mdi-weather-hazy:before{content:"\FF4D"}.mdi-weather-hurricane:before{content:"\F897"}.mdi-weather-lightning:before{content:"\F593"}.mdi-weather-lightning-rainy:before{content:"\F67D"}.mdi-weather-night:before{content:"\F594"}.mdi-weather-night-partly-cloudy:before{content:"\FF4E"}.mdi-weather-partly-cloudy:before{content:"\F595"}.mdi-weather-partly-lightning:before{content:"\FF4F"}.mdi-weather-partly-rainy:before{content:"\FF50"}.mdi-weather-partly-snowy:before{content:"\FF51"}.mdi-weather-partly-snowy-rainy:before{content:"\FF52"}.mdi-weather-pouring:before{content:"\F596"}.mdi-weather-rainy:before{content:"\F597"}.mdi-weather-snowy:before{content:"\F598"}.mdi-weather-snowy-heavy:before{content:"\FF53"}.mdi-weather-snowy-rainy:before{content:"\F67E"}.mdi-weather-sunny:before{content:"\F599"}.mdi-weather-sunny-alert:before{content:"\FF54"}.mdi-weather-sunset:before{content:"\F59A"}.mdi-weather-sunset-down:before{content:"\F59B"}.mdi-weather-sunset-up:before{content:"\F59C"}.mdi-weather-tornado:before{content:"\FF55"}.mdi-weather-windy:before{content:"\F59D"}.mdi-weather-windy-variant:before{content:"\F59E"}.mdi-web:before{content:"\F59F"}.mdi-web-box:before{content:"\FFB1"}.mdi-web-clock:before{content:"\F0275"}.mdi-webcam:before{content:"\F5A0"}.mdi-webhook:before{content:"\F62F"}.mdi-webpack:before{content:"\F72A"}.mdi-webrtc:before{content:"\F0273"}.mdi-wechat:before{content:"\F611"}.mdi-weight:before{content:"\F5A1"}.mdi-weight-gram:before{content:"\FD1B"}.mdi-weight-kilogram:before{content:"\F5A2"}.mdi-weight-lifter:before{content:"\F0188"}.mdi-weight-pound:before{content:"\F9B4"}.mdi-whatsapp:before{content:"\F5A3"}.mdi-wheelchair-accessibility:before{content:"\F5A4"}.mdi-whistle:before{content:"\F9B5"}.mdi-whistle-outline:before{content:"\F02E7"}.mdi-white-balance-auto:before{content:"\F5A5"}.mdi-white-balance-incandescent:before{content:"\F5A6"}.mdi-white-balance-iridescent:before{content:"\F5A7"}.mdi-white-balance-sunny:before{content:"\F5A8"}.mdi-widgets:before{content:"\F72B"}.mdi-widgets-outline:before{content:"\F0380"}.mdi-wifi:before{content:"\F5A9"}.mdi-wifi-off:before{content:"\F5AA"}.mdi-wifi-star:before{content:"\FE6B"}.mdi-wifi-strength-1:before{content:"\F91E"}.mdi-wifi-strength-1-alert:before{content:"\F91F"}.mdi-wifi-strength-1-lock:before{content:"\F920"}.mdi-wifi-strength-2:before{content:"\F921"}.mdi-wifi-strength-2-alert:before{content:"\F922"}.mdi-wifi-strength-2-lock:before{content:"\F923"}.mdi-wifi-strength-3:before{content:"\F924"}.mdi-wifi-strength-3-alert:before{content:"\F925"}.mdi-wifi-strength-3-lock:before{content:"\F926"}.mdi-wifi-strength-4:before{content:"\F927"}.mdi-wifi-strength-4-alert:before{content:"\F928"}.mdi-wifi-strength-4-lock:before{content:"\F929"}.mdi-wifi-strength-alert-outline:before{content:"\F92A"}.mdi-wifi-strength-lock-outline:before{content:"\F92B"}.mdi-wifi-strength-off:before{content:"\F92C"}.mdi-wifi-strength-off-outline:before{content:"\F92D"}.mdi-wifi-strength-outline:before{content:"\F92E"}.mdi-wii:before{content:"\F5AB"}.mdi-wiiu:before{content:"\F72C"}.mdi-wikipedia:before{content:"\F5AC"}.mdi-wind-turbine:before{content:"\FD81"}.mdi-window-close:before{content:"\F5AD"}.mdi-window-closed:before{content:"\F5AE"}.mdi-window-closed-variant:before{content:"\F0206"}.mdi-window-maximize:before{content:"\F5AF"}.mdi-window-minimize:before{content:"\F5B0"}.mdi-window-open:before{content:"\F5B1"}.mdi-window-open-variant:before{content:"\F0207"}.mdi-window-restore:before{content:"\F5B2"}.mdi-window-shutter:before{content:"\F0147"}.mdi-window-shutter-alert:before{content:"\F0148"}.mdi-window-shutter-open:before{content:"\F0149"}.mdi-windows:before{content:"\F5B3"}.mdi-windows-classic:before{content:"\FA20"}.mdi-wiper:before{content:"\FAE8"}.mdi-wiper-wash:before{content:"\FD82"}.mdi-wordpress:before{content:"\F5B4"}.mdi-worker:before{content:"\F5B5"}.mdi-wrap:before{content:"\F5B6"}.mdi-wrap-disabled:before{content:"\FBBB"}.mdi-wrench:before{content:"\F5B7"}.mdi-wrench-outline:before{content:"\FBBC"}.mdi-wunderlist:before{content:"\F5B8"}.mdi-xamarin:before{content:"\F844"}.mdi-xamarin-outline:before{content:"\F845"}.mdi-xaml:before{content:"\F673"}.mdi-xbox:before{content:"\F5B9"}.mdi-xbox-controller:before{content:"\F5BA"}.mdi-xbox-controller-battery-alert:before{content:"\F74A"}.mdi-xbox-controller-battery-charging:before{content:"\FA21"}.mdi-xbox-controller-battery-empty:before{content:"\F74B"}.mdi-xbox-controller-battery-full:before{content:"\F74C"}.mdi-xbox-controller-battery-low:before{content:"\F74D"}.mdi-xbox-controller-battery-medium:before{content:"\F74E"}.mdi-xbox-controller-battery-unknown:before{content:"\F74F"}.mdi-xbox-controller-menu:before{content:"\FE52"}.mdi-xbox-controller-off:before{content:"\F5BB"}.mdi-xbox-controller-view:before{content:"\FE53"}.mdi-xda:before{content:"\F5BC"}.mdi-xing:before{content:"\F5BD"}.mdi-xing-box:before{content:"\F5BE"}.mdi-xing-circle:before{content:"\F5BF"}.mdi-xml:before{content:"\F5C0"}.mdi-xmpp:before{content:"\F7FE"}.mdi-yahoo:before{content:"\FB2A"}.mdi-yammer:before{content:"\F788"}.mdi-yeast:before{content:"\F5C1"}.mdi-yelp:before{content:"\F5C2"}.mdi-yin-yang:before{content:"\F67F"}.mdi-yoga:before{content:"\F01A7"}.mdi-youtube:before{content:"\F5C3"}.mdi-youtube-creator-studio:before{content:"\F846"}.mdi-youtube-gaming:before{content:"\F847"}.mdi-youtube-subscription:before{content:"\FD1C"}.mdi-youtube-tv:before{content:"\F448"}.mdi-z-wave:before{content:"\FAE9"}.mdi-zend:before{content:"\FAEA"}.mdi-zigbee:before{content:"\FD1D"}.mdi-zip-box:before{content:"\F5C4"}.mdi-zip-box-outline:before{content:"\F001B"}.mdi-zip-disk:before{content:"\FA22"}.mdi-zodiac-aquarius:before{content:"\FA7C"}.mdi-zodiac-aries:before{content:"\FA7D"}.mdi-zodiac-cancer:before{content:"\FA7E"}.mdi-zodiac-capricorn:before{content:"\FA7F"}.mdi-zodiac-gemini:before{content:"\FA80"}.mdi-zodiac-leo:before{content:"\FA81"}.mdi-zodiac-libra:before{content:"\FA82"}.mdi-zodiac-pisces:before{content:"\FA83"}.mdi-zodiac-sagittarius:before{content:"\FA84"}.mdi-zodiac-scorpio:before{content:"\FA85"}.mdi-zodiac-taurus:before{content:"\FA86"}.mdi-zodiac-virgo:before{content:"\FA87"}.mdi-blank:before{content:"\F68C";visibility:hidden}.mdi-18px.mdi-set,.mdi-18px.mdi:before{font-size:18px}.mdi-24px.mdi-set,.mdi-24px.mdi:before{font-size:24px}.mdi-36px.mdi-set,.mdi-36px.mdi:before{font-size:36px}.mdi-48px.mdi-set,.mdi-48px.mdi:before{font-size:48px}.mdi-dark:before{color:rgba(0,0,0,.54)}.mdi-dark.mdi-inactive:before{color:rgba(0,0,0,.26)}.mdi-light:before{color:#fff}.mdi-light.mdi-inactive:before{color:hsla(0,0%,100%,.3)}.mdi-rotate-45:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.mdi-rotate-90:before{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.mdi-rotate-135:before{-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}.mdi-rotate-180:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.mdi-rotate-225:before{-webkit-transform:rotate(225deg);-ms-transform:rotate(225deg);transform:rotate(225deg)}.mdi-rotate-270:before{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.mdi-rotate-315:before{-webkit-transform:rotate(315deg);-ms-transform:rotate(315deg);transform:rotate(315deg)}.mdi-flip-h:before{-webkit-transform:scaleX(-1);transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.mdi-flip-v:before{-webkit-transform:scaleY(-1);transform:scaleY(-1);filter:FlipV;-ms-filter:"FlipV"}.mdi-spin:before{-webkit-animation:mdi-spin 2s linear infinite;animation:mdi-spin 2s linear infinite}@-webkit-keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}} \ No newline at end of file +:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:.875em;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\00A0"}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333%;max-width:8.33333%}.col-2{flex:0 0 16.66667%;max-width:16.66667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333%;max-width:33.33333%}.col-5{flex:0 0 41.66667%;max-width:41.66667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333%;max-width:58.33333%}.col-8{flex:0 0 66.66667%;max-width:66.66667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333%;max-width:83.33333%}.col-11{flex:0 0 91.66667%;max-width:91.66667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:hsla(0,0%,100%,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem)!important;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem)!important;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{justify-content:center}.form-inline .form-group,.form-inline label{display:flex;align-items:center;margin-bottom:0}.form-inline .form-group{flex:0 0 auto;flex-flow:row wrap}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success.focus,.btn-success:focus,.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info.focus,.btn-info:focus,.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light.focus,.btn-light:focus,.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark.focus,.btn-dark:focus,.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3}.btn-link.focus,.btn-link:focus,.btn-link:hover{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.width{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.width{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label:after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label:after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;print-color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label:before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label:before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before,.custom-control-input[disabled]~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label:before{pointer-events:none;background-color:#fff;border:1px solid #adb5bd}.custom-control-label:after,.custom-control-label:before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:""}.custom-control-label:after{background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label:after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label:after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(1.5em + .75rem + 2px)}.custom-file-input{z-index:2;margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{left:0;z-index:1;height:calc(1.5em + .75rem + 2px);overflow:hidden;font-weight:400;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label,.custom-file-label:after{position:absolute;top:0;right:0;padding:.375rem .75rem;line-height:1.5;color:#495057}.custom-file-label:after{bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background-color:transparent;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:none;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(0,0,0,0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.5);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(255,255,255,0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{height:1rem;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:.875rem;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{top:0;left:0;z-index:1060;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover,.popover .arrow{position:absolute;display:block}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow:after,.popover .arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid;border-right:.25em solid transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentcolor;border-radius:50%;opacity:0;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive:before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9:before{padding-top:42.85714%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{user-select:all!important}.user-select-auto{user-select:auto!important}.user-select-none{user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}@supports (position:sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:transparent}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd}blockquote,img,pre,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}.ui-timepicker-div dl dt{float:left;clear:left;padding:0 0 0 5px}.ui-timepicker-div dl dd{margin:0 10px 10px 40%}.ui-timepicker-div .ui_tpicker_unit_hide{display:none}.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input{background:none;color:inherit;outline:none;border:none;border-bottom:1px solid #555;width:95%}.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input:focus{border-bottom-color:#aaa}.ui-timepicker-rtl{direction:rtl}.ui-timepicker-rtl dl{text-align:right;padding:0 5px 0 0}.ui-timepicker-rtl dl dt{float:right;clear:right}.ui-timepicker-rtl dl dd{margin:0 40% 10px 10px}.ui-timepicker-div.ui-timepicker-oneLine{padding-right:2px}.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time,.ui-timepicker-div.ui-timepicker-oneLine dt{display:none}.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time_label{display:block;padding-top:2px}.ui-timepicker-div.ui-timepicker-oneLine dl{text-align:right}.ui-timepicker-div.ui-timepicker-oneLine dl dd,.ui-timepicker-div.ui-timepicker-oneLine dl dd>div{display:inline-block;margin:0}.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_minute:before,.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_second:before{content:":";display:inline-block}.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_microsec:before,.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_millisec:before{content:".";display:inline-block}.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide,.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide:before{display:none}.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top,#fff 50%,#eee);background-image:-o-linear-gradient(top,#fff 50%,#eee 100%);background-image:linear-gradient(180deg,#fff 50%,#eee);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF",endColorstr="#FFEEEEEE",GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top,#eee 50%,#ccc);background-image:-o-linear-gradient(top,#eee 50%,#ccc 100%);background-image:linear-gradient(180deg,#eee 50%,#ccc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE",endColorstr="#FFCCCCCC",GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top,#fff,#eee 50%);background-image:-o-linear-gradient(top,#fff 0,#eee 50%);background-image:linear-gradient(180deg,#fff 0,#eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF",endColorstr="#FFEEEEEE",GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top,#eee 50%,#fff);background-image:-o-linear-gradient(top,#eee 50%,#fff 100%);background-image:linear-gradient(180deg,#eee 50%,#fff);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE",endColorstr="#FFFFFFFF",GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local("Roboto"),local("Roboto-Regular"),url(fonts/roboto-v19-latin-regular.woff2) format("woff2"),url(fonts/roboto-v19-latin-regular.woff) format("woff"),url(fonts/roboto-v19-latin-regular.ttf) format("truetype")}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;-ms-filter:"alpha(opacity=0)"}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.ui-button,.ui-button:active,.ui-button:hover,.ui-button:link,.ui-button:visited{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}.rup-dropdown-btn-group .ui-button.rup-dropdown-button::-moz-focus-inner,.rup-wizard .ui-button.rup-wizard_submitButton::-moz-focus-inner,.rup-wizard a.ui-button.rup-wizard_next::-moz-focus-inner,.rup-wizard a.ui-button.rup-wizard_prev::-moz-focus-inner,.ui-button.rup-button::-moz-focus-inner,a.ui-button.rup-toolbar_menuButton::-moz-focus-inner,button.ui-button::-moz-focus-inner,input.ui-button::-moz-focus-inner{border:0;padding:0}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup>.ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup>.ui-controlgroup-item.ui-visual-focus,.ui-controlgroup>.ui-controlgroup-item:focus{z-index:9999}.ui-controlgroup-vertical>.ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label+.ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label+.ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc(100% - 2.4em)}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td a,.ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.rup-dropdown-btn-group .ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-button,.rup-wizard .ui-datepicker .ui-datepicker-buttonpane .rup-wizard_submitButton,.rup-wizard .ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_next,.rup-wizard .ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_prev,.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .rup-dropdown-button,.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .rup-wizard_submitButton,.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_next,.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_prev,.ui-datepicker .ui-datepicker-buttonpane .ui-button.rup-button,.ui-datepicker .ui-datepicker-buttonpane a.rup-toolbar_menuButton.ui-button,.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.rup-dropdown-btn-group .ui-datepicker .ui-datepicker-buttonpane .ui-datepicker-current.rup-dropdown-button,.rup-wizard .ui-datepicker .ui-datepicker-buttonpane .ui-datepicker-current.rup-wizard_submitButton,.rup-wizard .ui-datepicker .ui-datepicker-buttonpane a.ui-datepicker-current.rup-wizard_next,.rup-wizard .ui-datepicker .ui-datepicker-buttonpane a.ui-datepicker-current.rup-wizard_prev,.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-datepicker-current.rup-dropdown-button,.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-datepicker-current.rup-wizard_submitButton,.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-datepicker-current.rup-wizard_next,.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-datepicker-current.rup-wizard_prev,.ui-datepicker .ui-datepicker-buttonpane .ui-datepicker-current.ui-button.rup-button,.ui-datepicker .ui-datepicker-buttonpane a.ui-datepicker-current.rup-toolbar_menuButton.ui-button,.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.rup-dropdown-btn-group .ui-datepicker-rtl .ui-datepicker-buttonpane .rup-dropdown-button,.rup-wizard .ui-datepicker-rtl .ui-datepicker-buttonpane .rup-wizard_submitButton,.rup-wizard .ui-datepicker-rtl .ui-datepicker-buttonpane a.rup-wizard_next,.rup-wizard .ui-datepicker-rtl .ui-datepicker-buttonpane a.rup-wizard_prev,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-dropdown-btn-group .rup-dropdown-button,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-wizard .rup-wizard_submitButton,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_next,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_prev,.ui-datepicker-rtl .ui-datepicker-buttonpane .ui-button.rup-button,.ui-datepicker-rtl .ui-datepicker-buttonpane a.rup-toolbar_menuButton.ui-button,.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.rup-dropdown-btn-group .ui-datepicker-rtl .ui-datepicker-buttonpane .ui-datepicker-current.rup-dropdown-button,.rup-wizard .ui-datepicker-rtl .ui-datepicker-buttonpane .ui-datepicker-current.rup-wizard_submitButton,.rup-wizard .ui-datepicker-rtl .ui-datepicker-buttonpane a.ui-datepicker-current.rup-wizard_next,.rup-wizard .ui-datepicker-rtl .ui-datepicker-buttonpane a.ui-datepicker-current.rup-wizard_prev,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-datepicker-current.rup-dropdown-button,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-wizard .ui-datepicker-current.rup-wizard_submitButton,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-wizard a.ui-datepicker-current.rup-wizard_next,.ui-datepicker-rtl .ui-datepicker-buttonpane .rup-wizard a.ui-datepicker-current.rup-wizard_prev,.ui-datepicker-rtl .ui-datepicker-buttonpane .ui-datepicker-current.ui-button.rup-button,.ui-datepicker-rtl .ui-datepicker-buttonpane a.ui-datepicker-current.rup-toolbar_menuButton.ui-button,.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.rup-dropdown-btn-group .ui-dialog .ui-dialog-buttonpane .rup-dropdown-button,.rup-wizard .ui-dialog .ui-dialog-buttonpane .rup-wizard_submitButton,.rup-wizard .ui-dialog .ui-dialog-buttonpane a.rup-wizard_next,.rup-wizard .ui-dialog .ui-dialog-buttonpane a.rup-wizard_prev,.ui-dialog .ui-dialog-buttonpane .rup-dropdown-btn-group .rup-dropdown-button,.ui-dialog .ui-dialog-buttonpane .rup-wizard .rup-wizard_submitButton,.ui-dialog .ui-dialog-buttonpane .rup-wizard a.rup-wizard_next,.ui-dialog .ui-dialog-buttonpane .rup-wizard a.rup-wizard_prev,.ui-dialog .ui-dialog-buttonpane .ui-button.rup-button,.ui-dialog .ui-dialog-buttonpane a.rup-toolbar_menuButton.ui-button,.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw,.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-menu{padding:0;outline:0}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;border-width:1px 0 0}.ui-menu .ui-state-active,.ui-menu .ui-state-focus{margin:-1px}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{top:0;bottom:0;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar .ui-progressbar-value{margin:-1px}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;-ms-filter:"alpha(opacity=25)";opacity:.25}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:700;line-height:1.5;padding:2px .4em;margin:.5em 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:pointer;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;vertical-align:middle;margin:.2em 2em .2em .4em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}.fileinput-button{position:relative;overflow:hidden;display:inline-block}.fileinput-button input{position:absolute;top:0;right:0;margin:0;opacity:0;-ms-filter:"alpha(opacity=0)";font-size:200px!important;direction:ltr;cursor:pointer}.fileupload-buttonbar .btn,.fileupload-buttonbar .toggle{margin-bottom:5px}.progress-animated .bar,.progress-animated .progress-bar{background:url(images/progressbar.gif)!important;filter:none}.fileupload-process{float:right;display:none}.files .processing .preview,.fileupload-processing .fileupload-process{display:block;width:32px;height:32px;background:url(images/loading.gif) 50% no-repeat;background-size:contain}.files audio,.files video{max-width:300px}@media (max-width:767px){.files .btn span,.files .toggle,.fileupload-buttonbar .toggle{display:none}.files .name{width:80px;word-wrap:break-word}.files audio,.files video{max-width:80px}.files canvas,.files img{max-width:100%}}#qtip-overlay.blurs,.qtip-close{cursor:pointer}.qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px;direction:ltr;box-shadow:none;padding:0}.qtip-content,.qtip-titlebar{position:relative;overflow:hidden}.qtip-content{padding:5px 9px;text-align:left;word-wrap:break-word}.qtip-titlebar{padding:5px 35px 5px 10px;border-width:0 0 1px;font-weight:700}.qtip-titlebar+.qtip-content{border-top-width:0!important}.qtip-close{position:absolute;right:-9px;top:-9px;z-index:11;outline:0;border:1px solid transparent}.qtip-titlebar .qtip-close{right:4px;top:50%;margin-top:-9px}* html .qtip-titlebar .qtip-close{top:16px}.qtip-icon .ui-icon,.qtip-titlebar .ui-icon{display:block;text-indent:-1000em;direction:ltr}.qtip-icon,.qtip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;text-decoration:none}.qtip-icon .ui-icon{width:18px;height:14px;line-height:14px;text-align:center;text-indent:0;font:normal 700 10px/13px Tahoma,sans-serif;color:inherit;background:-100em -100em no-repeat}.qtip-default{border:1px solid #f1d031;background-color:#ffffa3;color:#555}.qtip-default .qtip-titlebar{background-color:#ffef93}.qtip-default .qtip-icon{border-color:#ccc;background:#f1f1f1;color:#777}.qtip-default .qtip-titlebar .qtip-close{border-color:#aaa;color:#111}.qtip-light{background-color:#fff;border-color:#e2e2e2;color:#454545}.qtip-light .qtip-titlebar{background-color:#f1f1f1}.qtip-dark{background-color:#505050;border-color:#303030;color:#f3f3f3}.qtip-dark .qtip-titlebar{background-color:#404040}.qtip-dark .qtip-icon{border-color:#444}.qtip-dark .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-cream{background-color:#fbf7aa;border-color:#f9e98e;color:#a27d35}.qtip-red,.qtip-red .qtip-icon,.qtip-red .qtip-titlebar .ui-state-hover{border-color:#d95252}.qtip-cream .qtip-titlebar{background-color:#f0de7d}.qtip-cream .qtip-close .qtip-icon{background-position:-82px 0}.qtip-red{background-color:#f78b83;color:#912323}.qtip-red .qtip-titlebar{background-color:#f06d65}.qtip-red .qtip-close .qtip-icon{background-position:-102px 0}.qtip-green{background-color:#caed9e;border-color:#90d93f;color:#3f6219}.qtip-green .qtip-titlebar{background-color:#b0de78}.qtip-green .qtip-close .qtip-icon{background-position:-42px 0}.qtip-blue{background-color:#e5f6fe;border-color:#add9ed;color:#5e99bd}.qtip-blue .qtip-titlebar{background-color:#d0e9f5}.qtip-blue .qtip-close .qtip-icon{background-position:-2px 0}.qtip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.qtip-bootstrap,.qtip-rounded,.qtip-tipsy{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.qtip-rounded .qtip-titlebar{-moz-border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.qtip-youtube{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;color:#fff;border:0 solid transparent;background:#4a4a4a;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4a4a4a),color-stop(100%,#000));background-image:-webkit-linear-gradient(top,#4a4a4a,#000);background-image:-moz-linear-gradient(top,#4a4a4a 0,#000 100%);background-image:-ms-linear-gradient(top,#4a4a4a 0,#000 100%);background-image:-o-linear-gradient(top,#4a4a4a 0,#000 100%)}.qtip-youtube .qtip-titlebar{background-color:#4a4a4a;background-color:transparent}.qtip-youtube .qtip-content{padding:.75em;font:12px arial,sans-serif;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);"}.qtip-youtube .qtip-icon{border-color:#222}.qtip-youtube .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-linear-gradient(top,#717171,#232323);background-image:-ms-linear-gradient(top,#717171,#232323);background-image:-o-linear-gradient(top,#717171,#232323);border:2px solid #f1f1f1;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.qtip-jtools .qtip-titlebar{background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"}.qtip-jtools .qtip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"}.qtip-jtools .qtip-content,.qtip-jtools .qtip-titlebar{background:0 0;color:#fff;border:0 dashed transparent}.qtip-jtools .qtip-icon{border-color:#555}.qtip-jtools .qtip-titlebar .ui-state-hover{border-color:#333}.qtip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4);background-color:#d9d9c2;color:#111;border:0 dashed transparent}.qtip-cluetip .qtip-titlebar{background-color:#87876a;color:#fff;border:0 dashed transparent}.qtip-cluetip .qtip-icon{border-color:#808064}.qtip-cluetip .qtip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.qtip-tipsy{background:#000;background:rgba(0,0,0,.87);color:#fff;border:0 solid transparent;font-size:11px;font-weight:700;line-height:16px;text-shadow:0 1px #000}.qtip-tipsy .qtip-titlebar{padding:6px 35px 0 10px;background-color:transparent}.qtip-tipsy .qtip-content{padding:6px 10px}.qtip-tipsy .qtip-icon{border-color:#222;text-shadow:none}.qtip-tipsy .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-tipped{border:3px solid #959fa9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#f9f9f9;color:#454545;font-weight:400}.qtip-tipped .qtip-titlebar{border-bottom-width:0;color:#fff;background:#3a79b8;background-image:-webkit-gradient(linear,left top,left bottom,from(#3a79b8),to(#2e629d));background-image:-webkit-linear-gradient(top,#3a79b8,#2e629d);background-image:-moz-linear-gradient(top,#3a79b8,#2e629d);background-image:-ms-linear-gradient(top,#3a79b8,#2e629d);background-image:-o-linear-gradient(top,#3a79b8,#2e629d);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"}.qtip-tipped .qtip-icon{border:2px solid #285589;background:#285589}.qtip-tipped .qtip-icon .ui-icon{background-color:#fbfbfb;color:#555}.qtip-bootstrap{font-size:14px;line-height:20px;color:#333;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.qtip-bootstrap .qtip-titlebar{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.qtip-bootstrap .qtip-titlebar .qtip-close{right:11px;top:45%;border-style:none}.qtip-bootstrap .qtip-content{padding:9px 14px}.qtip-bootstrap .qtip-icon{background:0 0}.qtip-bootstrap .qtip-icon .ui-icon{width:auto;height:auto;float:right;font-size:20px;font-weight:700;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}#qtip-overlay,#qtip-overlay div{left:0;top:0;width:100%;height:100%}.qtip-bootstrap .qtip-icon .ui-icon:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}.qtip:not(.ie9haxors) div.qtip-content,.qtip:not(.ie9haxors) div.qtip-titlebar{filter:none;-ms-filter:none}.qtip .qtip-tip{margin:0 auto;overflow:hidden;z-index:10}.qtip .qtip-tip,x:-o-prefocus{visibility:hidden}.qtip .qtip-tip,.qtip .qtip-tip .qtip-vml,.qtip .qtip-tip canvas{position:absolute;color:#123456;background:0 0;border:0 dashed transparent}.qtip .qtip-tip canvas{top:0;left:0}.qtip .qtip-tip .qtip-vml{display:inline-block;visibility:visible}.qtipmodal-ie6fix{position:absolute!important}.ui-carousel{height:100px;margin:0;overflow:auto;padding:0;position:relative;width:300px}.ui-carousel>.wrapper{margin:0;padding:0;width:9999px}.ui-carousel>.wrapper>*{border:0;display:block;float:left;height:100px;overflow:hidden;width:100px}.jstree-default .jstree-icon,.jstree-default .jstree-node{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-animated,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-context,.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{color:#666}.jstree-default .jstree-disabled.jstree-hovered{box-shadow:none}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:transparent;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:transparent}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") 0 0 repeat}.jstree-default>.jstree-wholerow-ul .jstree-clicked,.jstree-default>.jstree-wholerow-ul .jstree-hovered{background:transparent;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top,#beebff,#a8e4ff);background:linear-gradient(180deg,#beebff 0,#a8e4ff)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon,.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-icon,.jstree-default .jstree-node{background-image:url(images/32px.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:transparent}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default>.jstree-no-dots .jstree-node{background:transparent}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled,.jstree-default .jstree-disabled.jstree-hovered{background:transparent}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node{background:transparent}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(images/throbber.gif) 50% no-repeat}.jstree-default .jstree-file{background:url(images/32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(images/32px.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-er,#jstree-dnd.jstree-default .jstree-ok{background-image:url(images/32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:transparent;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default .jstree-ellipsis{overflow:hidden}.jstree-default .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}.jstree-default.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==")}.jstree-default.jstree-rtl .jstree-last{background:transparent}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon,.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-icon,.jstree-default-small .jstree-node{background-image:url(images/32px.png)}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:transparent}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-small>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled,.jstree-default-small .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(images/throbber.gif) 50% no-repeat}.jstree-default-small .jstree-file{background:url(images/32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(images/32px.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-er,#jstree-dnd.jstree-default-small .jstree-ok{background-image:url(images/32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:transparent;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small .jstree-ellipsis{overflow:hidden}.jstree-default-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}.jstree-default-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==")}.jstree-default-small.jstree-rtl .jstree-last{background:transparent}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon,.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-icon,.jstree-default-large .jstree-node{background-image:url(images/32px.png)}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:transparent}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-large>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled,.jstree-default-large .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(images/throbber.gif) 50% no-repeat}.jstree-default-large .jstree-file{background:url(images/32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(images/32px.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-er,#jstree-dnd.jstree-default-large .jstree-ok{background-image:url(images/32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:transparent;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large .jstree-ellipsis{overflow:hidden}.jstree-default-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==")}.jstree-default-large.jstree-rtl .jstree-last{background:transparent}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url(images/40px.png)}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive .jstree-node{background:transparent}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:transparent}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive>.jstree-striped{background:transparent}.jstree-default-responsive .jstree-wholerow{border-top:1px solid hsla(0,0%,100%,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon{background-image:url(images/40px.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:transparent}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(images/40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(images/40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}.jstree-children,.jstree-container-ul,.jstree-node{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-anchor,.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:active,.jstree-anchor:hover,.jstree-anchor:link,.jstree-anchor:visited{text-decoration:none;color:inherit}.jstree-icon,.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-anchor>.jstree-themeicon-hidden,.jstree-hidden,.jstree-no-icons .jstree-themeicon,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jstree-contextmenu .jstree-anchor{-webkit-user-select:none;-webkit-touch-callout:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==");background-position:100%;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-no-icons{margin-left:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context .vakata-contextmenu-disabled>a>i{filter:grayscale(100%)}.vakata-context li>a>i{text-decoration:none;display:inline-block;height:2.4em;background:transparent;margin:0 0 0 -2em;vertical-align:top;text-align:center}.vakata-context li>a>i,.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7");background-position:0;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-copy,#jstree-dnd .jstree-icon{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default-dark .jstree-icon,.jstree-default-dark .jstree-node{background-repeat:no-repeat;background-color:transparent}.jstree-default-dark .jstree-anchor,.jstree-default-dark .jstree-animated,.jstree-default-dark .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default-dark .jstree-context,.jstree-default-dark .jstree-hovered{background:#555;border-radius:2px;box-shadow:inset 0 0 1px #555}.jstree-default-dark .jstree-clicked{background:#5fa2db;border-radius:2px;box-shadow:inset 0 0 1px #666}.jstree-default-dark .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default-dark .jstree-disabled{color:#666}.jstree-default-dark .jstree-disabled.jstree-hovered{box-shadow:none}.jstree-default-dark .jstree-disabled.jstree-clicked{background:#333}.jstree-default-dark .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark .jstree-search{font-style:italic;color:#fff;font-weight:700}.jstree-default-dark .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked{background:transparent;box-shadow:none}.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#555}.jstree-default-dark.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:transparent}.jstree-default-dark.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#555}.jstree-default-dark>.jstree-striped{min-width:100%;display:inline-block;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") 0 0 repeat}.jstree-default-dark>.jstree-wholerow-ul .jstree-clicked,.jstree-default-dark>.jstree-wholerow-ul .jstree-hovered{background:transparent;box-shadow:none;border-radius:0}.jstree-default-dark .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default-dark .jstree-wholerow-hovered{background:#555}.jstree-default-dark .jstree-wholerow-clicked{background:#5fa2db;background:-webkit-linear-gradient(top,#5fa2db,#5fa2db);background:linear-gradient(180deg,#5fa2db 0,#5fa2db)}.jstree-default-dark .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default-dark .jstree-anchor{line-height:24px;height:24px}.jstree-default-dark .jstree-icon,.jstree-default-dark .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default-dark.jstree-rtl .jstree-node{margin-right:24px}.jstree-default-dark .jstree-wholerow{height:24px}.jstree-default-dark .jstree-icon,.jstree-default-dark .jstree-node{background-image:url(images/32px.png)}.jstree-default-dark .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default-dark .jstree-last{background:transparent}.jstree-default-dark .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default-dark .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default-dark .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default-dark .jstree-themeicon{background-position:-260px -4px}.jstree-default-dark>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-dark>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-dark>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default-dark>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default-dark .jstree-disabled,.jstree-default-dark .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-dark .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark .jstree-checkbox{background-position:-164px -4px}.jstree-default-dark .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default-dark.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default-dark.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default-dark .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default-dark .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default-dark .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark>.jstree-striped{background-size:auto 48px}.jstree-default-dark.jstree-rtl .jstree-node{background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default-dark.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default-dark.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default-dark .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(images/throbber.gif) 50% no-repeat}.jstree-default-dark .jstree-file{background:url(images/32px.png) -100px -68px no-repeat}.jstree-default-dark .jstree-folder{background:url(images/32px.png) -260px -4px no-repeat}.jstree-default-dark>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default-dark .jstree-er,#jstree-dnd.jstree-default-dark .jstree-ok{background-image:url(images/32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark i{background:transparent;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default-dark .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default-dark .jstree-er{background-position:-36px -68px}.jstree-default-dark .jstree-ellipsis{overflow:hidden}.jstree-default-dark .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==")}.jstree-default-dark-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-dark-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-dark-small .jstree-icon,.jstree-default-dark-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-dark-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-dark-small .jstree-wholerow{height:18px}.jstree-default-dark-small .jstree-icon,.jstree-default-dark-small .jstree-node{background-image:url(images/32px.png)}.jstree-default-dark-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-dark-small .jstree-last{background:transparent}.jstree-default-dark-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-dark-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-dark-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-dark-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-dark-small>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-dark-small>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-dark-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-dark-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-dark-small .jstree-disabled,.jstree-default-dark-small .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-dark-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-dark-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-dark-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-dark-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-dark-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark-small>.jstree-striped{background-size:auto 36px}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-dark-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-dark-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-dark-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(images/throbber.gif) 50% no-repeat}.jstree-default-dark-small .jstree-file{background:url(images/32px.png) -103px -71px no-repeat}.jstree-default-dark-small .jstree-folder{background:url(images/32px.png) -263px -7px no-repeat}.jstree-default-dark-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-dark-small .jstree-er,#jstree-dnd.jstree-default-dark-small .jstree-ok{background-image:url(images/32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark-small i{background:transparent;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-dark-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-dark-small .jstree-er{background-position:-39px -71px}.jstree-default-dark-small .jstree-ellipsis{overflow:hidden}.jstree-default-dark-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==")}.jstree-default-dark-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-dark-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-dark-large .jstree-icon,.jstree-default-dark-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-dark-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-dark-large .jstree-wholerow{height:32px}.jstree-default-dark-large .jstree-icon,.jstree-default-dark-large .jstree-node{background-image:url(images/32px.png)}.jstree-default-dark-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-dark-large .jstree-last{background:transparent}.jstree-default-dark-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-dark-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-dark-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-dark-large .jstree-themeicon{background-position:-256px 0}.jstree-default-dark-large>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-dark-large>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-dark-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-dark-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-dark-large .jstree-disabled,.jstree-default-dark-large .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-dark-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark-large .jstree-checkbox{background-position:-160px 0}.jstree-default-dark-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-dark-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-dark-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-dark-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark-large>.jstree-striped{background-size:auto 64px}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-dark-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-dark-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-node{background:transparent}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-dark-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(images/throbber.gif) 50% no-repeat}.jstree-default-dark-large .jstree-file{background:url(images/32px.png) -96px -64px no-repeat}.jstree-default-dark-large .jstree-folder{background:url(images/32px.png) -256px 0 no-repeat}.jstree-default-dark-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-dark-large .jstree-er,#jstree-dnd.jstree-default-dark-large .jstree-ok{background-image:url(images/32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark-large i{background:transparent;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-dark-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-dark-large .jstree-er{background-position:-32px -64px}.jstree-default-dark-large .jstree-ellipsis{overflow:hidden}.jstree-default-dark-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==")}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:transparent;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(images/40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(images/40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-dark-responsive .jstree-icon{background-image:url(images/40px.png)}.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl,.jstree-default-dark-responsive .jstree-node{background:transparent}.jstree-default-dark-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-dark-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-dark-responsive .jstree-icon,.jstree-default-dark-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-dark-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:transparent}.jstree-default-dark-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-dark-responsive .jstree-checkbox,.jstree-default-dark-responsive .jstree-ocl,.jstree-default-dark-responsive .jstree-themeicon{background-size:120px 240px}.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl,.jstree-default-dark-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-dark-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-dark-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-dark-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-dark-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-dark-responsive .jstree-checkbox,.jstree-default-dark-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-responsive .jstree-checked>.jstree-checkbox,.jstree-default-dark-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-dark-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-dark-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-dark-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-dark-responsive>.jstree-striped{background:transparent}.jstree-default-dark-responsive .jstree-wholerow{border-top:1px solid #666;border-bottom:1px solid #000;background:#333;height:40px}.jstree-default-dark-responsive .jstree-wholerow-hovered{background:#555}.jstree-default-dark-responsive .jstree-wholerow-clicked{background:#5fa2db}.jstree-default-dark-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #111}.jstree-default-dark-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #111;border-top:0}.jstree-default-dark-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-dark-responsive .jstree-checkbox,.jstree-default-dark-responsive .jstree-icon,.jstree-default-dark-responsive .jstree-node,.jstree-default-dark-responsive .jstree-node>.jstree-ocl,.jstree-default-dark-responsive .jstree-themeicon{background-image:url(images/40px.png);background-size:120px 240px}.jstree-default-dark-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-dark-responsive .jstree-last{background:transparent}.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-dark-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-dark-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-responsive .jstree-file{background:url(images/40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-dark-responsive .jstree-folder{background:url(images/40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-dark-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}.jstree-default-dark{background:#333}.jstree-default-dark .jstree-anchor{color:#999;text-shadow:1px 1px 0 rgba(0,0,0,.5)}.jstree-default-dark .jstree-checked,.jstree-default-dark .jstree-clicked,.jstree-default-dark .jstree-hovered{color:#fff}#jstree-marker.jstree-default-dark{border-left-color:#999;background:transparent}.jstree-default-dark .jstree-anchor>.jstree-icon{opacity:.75}.jstree-default-dark .jstree-checked>.jstree-icon,.jstree-default-dark .jstree-clicked>.jstree-icon,.jstree-default-dark .jstree-hovered>.jstree-icon{opacity:1}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==")}.jstree-default-dark.jstree-rtl .jstree-last{background:transparent}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==")}.jstree-default-dark-small.jstree-rtl .jstree-last{background:transparent}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==")}.jstree-default-dark-large.jstree-rtl .jstree-last{background:transparent}a{color:#0052c7;text-decoration:underline}a:hover,nav a{text-decoration:none}.rup-enlaceCancelar{float:right;margin:.5em .4em .5em 0;cursor:pointer;padding:.2em .6em .3em;line-height:1.4em;width:auto;overflow:visible;color:#00f}input.ui-button{padding:.2em .6em}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{font-weight:700}.ui-icon{margin-top:0}.rup_icon{float:left;padding-right:.5em}.rup_external_link{display:inline;left:inherit!important;margin-top:.15em!important;position:static}.rup-icon,.ui-button:hover .ui-icon.rup-icon,.ui-icon.rup-icon{background-image:url(images/rup-icons.png);background-repeat:no-repeat;display:inline-block;overflow:hidden}.rup-icon-ajax-loader{background-position:0 0;width:16px;height:16px}.rup-icon-alert-24{background-position:0 -66px;width:24px;height:24px}.rup-icon-alert{background-position:0 -140px;width:16px;height:16px}.rup-icon-cancel-disabled{background-position:0 -272px;width:16px;height:16px}.rup-icon-cancel{background-position:0 -338px;width:16px;height:16px}.rup-icon-check{background-position:0 -404px;width:16px;height:16px}.rup-icon-check_all{background-position:0 -470px;width:16px;height:16px}.rup-icon-child{background-position:0 -536px;width:16px;height:16px}.rup-icon-clone-disabled{background-position:0 -602px;width:16px;height:16px}.rup-icon-clone{background-position:0 -668px;width:16px;height:16px}.rup-icon-close-hover{background-position:0 -734px;width:16px;height:16px}.rup-icon-close{background-position:0 -800px;width:16px;height:16px}.rup-icon-confirm24{background-position:0 -866px;width:24px;height:24px}.rup-icon-confirm{background-position:0 -940px;width:16px;height:16px}.rup-icon-contextmenu-add{background-position:0 -1006px;width:16px;height:16px}.rup-icon-contextmenu-check-all{background-position:0 -1072px;width:16px;height:16px}.rup-icon-contextmenu-check{background-position:0 -1138px;width:16px;height:16px}.rup-icon-contextmenu-child{background-position:0 -1204px;width:16px;height:16px}.rup-icon-contextmenu-clone{background-position:0 -1270px;width:16px;height:16px}.rup-icon-contextmenu-copy{background-position:0 -1336px;width:16px;height:16px}.rup-icon-contextmenu-cut{background-position:0 -1402px;width:16px;height:16px}.rup-icon-contextmenu-delete{background-position:0 -1468px;width:16px;height:16px}.rup-icon-contextmenu-descendent{background-position:0 -1534px;width:16px;height:16px}.rup-icon-contextmenu-door{background-position:0 -1600px;width:16px;height:16px}.rup-icon-contextmenu-edit{background-position:0 -1666px;width:16px;height:16px}.rup-icon-contextmenu-paste{background-position:0 -1732px;width:16px;height:16px}.rup-icon-contextmenu-uncheck-all{background-position:0 -1798px;width:16px;height:16px}.rup-icon-contextmenu-uncheck{background-position:0 -1864px;width:16px;height:16px}.rup-icon-date-calendar{background-position:0 -1930px;width:16px;height:16px}.rup-icon-delete-disabled{background-position:-74px 0;width:16px;height:16px}.rup-icon-delete{background-position:-74px -66px;width:16px;height:16px}.rup-icon-door-out{background-position:-74px -132px;width:16px;height:16px}.rup-icon-download{background-position:-74px -198px;width:16px;height:16px}.rup-icon-dropdown{background-position:-74px -264px;width:16px;height:16px}.rup-icon-edit-disabled{background-position:-74px -330px;width:16px;height:16px}.rup-icon-edit{background-position:-74px -396px;width:16px;height:16px}.rup-icon-element-count{background-position:-74px -462px;width:16px;height:16px}.rup-icon-error-24{background-position:-74px -528px;width:24px;height:24px}.rup-icon-error{background-position:-74px -602px;width:16px;height:16px}.rup-icon-exclamation{background-position:-74px -668px;width:16px;height:16px}.rup-icon-file-csv{background-position:-74px -734px;width:16px;height:16px}.rup-icon-file-dll{background-position:-74px -800px;width:16px;height:16px}.rup-icon-file-doc{background-position:-74px -866px;width:16px;height:16px}.rup-icon-file-exe{background-position:-74px -932px;width:16px;height:16px}.rup-icon-file-gif{background-position:-74px -998px;width:16px;height:16px}.rup-icon-file-jpg{background-position:-74px -1064px;width:16px;height:16px}.rup-icon-file-js{background-position:-74px -1130px;width:16px;height:16px}.rup-icon-file-ods{background-position:-74px -1196px;width:16px;height:16px}.rup-icon-file-pdf{background-position:-74px -1262px;width:16px;height:16px}.rup-icon-file-ppt{background-position:-74px -1328px;width:16px;height:16px}.rup-icon-file-txt{background-position:-74px -1394px;width:16px;height:16px}.rup-icon-file-xls{background-position:-74px -1460px;width:16px;height:16px}.rup-icon-file-zip{background-position:-74px -1526px;width:16px;height:16px}.rup-icon-file{background-position:-74px -1592px;width:16px;height:16px}.rup-icon-filter-disabled{background-position:-74px -1658px;width:16px;height:16px}.rup-icon-filter{background-position:-74px -1724px;width:16px;height:16px}.rup-icon-filtrar{background-position:-74px -1790px;width:16px;height:16px}.rup-icon-hierarchy-down{background-position:-74px -1856px;width:16px;height:16px}.rup-icon-hierarchy-up{background-position:-74px -1922px;width:16px;height:16px}.rup-icon-new-disabled{background-position:-148px 0;width:16px;height:16px}.rup-icon-new{background-position:-148px -66px;width:16px;height:16px}.rup-icon-ok-24{background-position:-148px -132px;width:24px;height:24px}.rup-icon-ok{background-position:-148px -206px;width:16px;height:16px}.rup-icon-padlock{background-position:-148px -272px;width:16px;height:16px}.rup-icon-parent{background-position:-148px -338px;width:16px;height:16px}.rup-icon-print-disabled{background-position:-148px -404px;width:16px;height:16px}.rup-icon-print{background-position:-148px -470px;width:16px;height:16px}.rup-icon-save-disabled{background-position:-148px -536px;width:16px;height:16px}.rup-icon-save{background-position:-148px -602px;width:16px;height:16px}.rup-icon-search-disabled{background-position:-148px -668px;width:16px;height:16px}.rup-icon-search{background-position:-148px -734px;width:16px;height:16px}.rup-icon-separator-arrow{background-position:-148px -800px;width:3px;height:5px}.rup-icon-time-clock{background-position:-148px -1053px;width:16px;height:16px}.rup-icon-uncheck{background-position:-148px -1119px;width:16px;height:16px}.rup-icon-unlock{background-position:-148px -1185px;width:16px;height:16px}.rup-icon-upload{background-position:-148px -1251px;width:16px;height:16px}.rup-icon-wizard-arrow-current{background-position:-148px -1317px;width:11px;height:35px}.rup-icon-wizard-arrow-done-last{background-position:-148px -1402px;width:13px;height:35px}.rup-icon-wizard-arrow-last-current{background-position:-148px -1487px;width:11px;height:35px}.rup-icon-wizard-arrow-last{background-position:-148px -1572px;width:11px;height:35px}.rup-icon-wizard-arrow{background-position:-148px -1657px;width:11px;height:35px}.rup-icon-wizard-next{background-position:-148px -1742px;width:32px;height:32px}.rup-icon-wizard-prev{background-position:-148px -1824px;width:32px;height:32px}.rup-icon-wizard-submit{background-position:-148px -1906px;width:32px;height:32px}.rup_accordion{display:none}.ui-accordion .ui-accordion-header{width:auto}.ui-accordion .ui-accordion-header.ui-state-active{border-bottom:none}.ui-accordion.ui-accordion-disabled.ui-state-disabled{opacity:1}.rup-breadCrumb_main LI UL{position:absolute;float:left}.rup-breadCrumb_main,.rup-breadCrumb_main LI,.rup-breadCrumb_main UL,.rup-breadCrumb_main UL LI{list-style:none;margin:0;padding:0}.rup-breadCrumb_main UL{display:none}.rup-breadCrumb_main{background:none;padding-right:65em;position:relative}.rup-breadCrumb_main LI{border-right:none;height:16px;padding:5px 4px 5px 10px;width:auto}.rup-breadCrumb_main LI.rup-breadCrumb_current{border-right:none;background:none}.rup-breadCrumb_main LI A{text-decoration:underline;color:#0a8ecc}.rup-breadCrumb_main LI.hover A,.rup-breadCrumb_main LI A:HOVER{color:#0a8ecc}.rup-breadCrumb_main LI IMG.rup-icon,.rup-breadCrumb_main LI SPAN.rup-icon{display:inline-block;margin-left:1em}.rup-breadCrumb_main LI.rup-breadCrumb_current A{color:#333;font-weight:700}.rup-breadCrumb_main LI UL{padding:3px;background:#333;font-size:11px;width:180px;top:25px;z-index:1000}.rup-breadCrumb_main LI UL LI{float:left;width:100%;border-right:none;height:auto}.rup-breadCrumb_main LI UL LI A,.rup-breadCrumb_main LI UL LI A:visited{text-decoration:none!important;color:#ccc!important;display:block;padding:4px;border-bottom:1px dotted #666}.rup-breadCrumb_main LI UL LI A:HOVER{background:#444}.rup-breadCrumb_main LI UL LI A:FOCUS{background:#444;border-style:dotted;border-width:thin;outline:none}.rup-breadCrumbs{width:100%;position:relative;padding-bottom:2.5em;clear:both}.rup-breadCrumb_main{padding-right:0}.rup-breadCrumb_link{cursor:pointer}.rup-breadCrumb_logoutDiv .rup-breadCrumb_logoutImg{display:inline-block;background:url(data:image/gif;base64,R0lGODlhEAAQAIQeAO/v79GdFee+Su/TbvPdgMXFxevJXeO0OPrhkfz10v354v3328SCDti0If377dSlF+vr68mMEcfHx/rwucySEvvzx9XV1ditGvnsqNy2HMN/Dffnkvnadq2trf///////yH5BAEKAB8ALAAAAAAQABAAAAVp4CeOZGl2aGqOnWe9UtGtLZCi0lx2NtnJpx4LSMp0IJ1GJtP4dS5Fj0OxSCQqEwwiUFRgNhvCwCA4ICLdb3hcRjCKC7WYfOBoigk5u34fZfJgc2V2JBcIHIiJiX0iDwEUEQwak5SMK5chADs=) no-repeat 100%}.rup-breadCrumb_logoutDiv .rup-breadCrumb_logoutImg_active{display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAcZJREFUeNqMk89LImEYx7+T0+YWpMkyBBuSFCmegrrMpcOed/+HPezF9dalg0Ed7NQpxLwb9FdsevAQeIqQKFFkRVkIR1dn0syZeXufcawoJ3vgM/PO9x2+z495R2CMYVyk0+mXjz85Ec4GJ89JcU5oQ4RD9Pv90TLm9/vj4XAYXq8XrVZLLhQKcr1e9/O9A0eDbrdLt+1AIBAPhULI5XJQFAWSJEGWZUoQr1arzSknA03TiEgwGEQ2m0WlUtntdDozpVJpN5PJgExp39EgFouh1+utmqaJcrkMVVWPOA+cw2KxCEEQSAs7tjBqg5ug2WwimUxqtvwQjUaRSCRo7RLO9sRje8KTIvVtf/D7tSiKbk9kZesX5qQgPvsCmHb7gKlPMHvX0Pu8gv//cNf4i+KfFCV5a0AXo3sBQ1NgiDUIugTBNY9B4xTGQIeu3nFUx7KsITJmWgAcNoQxw8bWHEJ8MjAJA+3aFZSbPJbWPfxZtzT2jsHwM9JxtjIx3F6eoV294H0ZQ0xiooFdNn/x6+YPzH5Zfs5OBuyDBjQD98Ii1r7vPM8A5uQW6I+0oDlY7dhrKn2kOQ1Rv2+nKvnzDx2kceKjAAMALocWITpFuiYAAAAASUVORK5CYII=) no-repeat 100%}.rup-breadCrumb_logoutDiv .rup-breadCrumb_exitImg{display:inline-block;float:left}.rup-dropdown-btn-group{display:inline-block}.rup-dropdown{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.rup-dropdown-button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:0;width:25px}.rup-dropdown-dialog{box-shadow:0 6px 12px rgba(0,0,0,.176)}.rup-dropdown-btn-group .ui-button-icon-only.rup-dropdown-button,.rup-wizard .ui-button-icon-only.rup-dropdown-button.rup-wizard_submitButton,.rup-wizard a.ui-button-icon-only.rup-dropdown-button.rup-wizard_next,.rup-wizard a.ui-button-icon-only.rup-dropdown-button.rup-wizard_prev,.ui-button-icon-only.rup-dropdown-button.ui-button.rup-button,a.ui-button-icon-only.rup-dropdown-button.rup-toolbar_menuButton.ui-button,button.ui-button-icon-only.rup-dropdown-button{width:1.8em}.rup-dropdown-dialog>.ui-widget-header{background:none;border:0}.rup-dropdown-option-list{display:none;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.176);border:1px solid rgba(0,0,0,.15);list-style:outside none none;margin:2px 0 0;padding:5px 0;position:absolute;z-index:9000;font-size:1.1em}.rup-dropdown-option-list.open{display:block}.rup-dropdown-option-list>li>a{clear:both;color:#333;display:block;font-weight:400;line-height:1.42857;padding:3px 20px;white-space:nowrap}.rup-dropdown-option-list.rup-toolbar_menuButtonContainer>li>a{padding:0}.rup-dropdown-option-list .divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.rup-dropdown-btn-group .rup-toolbar_button.rup-dropdown{border-bottom-right-radius:0;border-top-right-radius:0}.rup-button .ui-icon.fa{height:15px;padding-top:2px}.rup-button .ui-icon.fa,.rup-button:hover .ui-icon.fa{background-image:none;text-indent:inherit}.context-menu-root{color:#000}.context-menu-item.icon-check{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAVVJREFUeNrEU7FugzAQPUcFhZRmAoaMXbpEXdv/YM7OxtwJMXXJwhBlyMQ/5CPo3EodKiGxoQwhtEAiQpT6WWUgIWolhp50enf2u3c2nNnxeKQu1qOO1lngqg4cxyHG2C0PH7jfXOB/cX/h1w5d120KVFUFeLRt+8kwjHFb9Wq1evM875mH4dkJyrIEDDVNG/+INSyOYxqNRmPOG7Z+g91uB2coPvXNZkPL5VLE4IB7UeBwONBsNqP1ek37/V6g7/uU5zlh7zeBHorQcT6fUxiGApGbpikEwWkVKIoCLk4wmUwoSRJaLBYCkSuKIk4ADrhnAtvtFi4EBoMBWZZFaZoKRI7u2AMH3DOBIAjQLYui6F2WZdJ1nabTqUBJkghr2AMH3NpY/Rb4EOmqqt73+/07Hl+3zQHn5vz+H1mWvfI4PhVAEf4x+8MEf/K6rCHwb4/pW4ABAGkv7mEJb7TSAAAAAElFTkSuQmCC)}.context-menu-item.icon-check_all{background-image:url(images/check_all.png)}.context-menu-item.icon-uncheck{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQVJREFUeNrEU00LgkAQ3V1XkbJO5g/o1EG61r/y3Ek8dfZf2bkg6CB4Cy9CLSp+NgMVWGsFHhoY5uG+ebwdZ2nbtmRIMDIwBgvwB3Bdl1BK5wBXkJMe/hVyB9cOPc/rClRVhWXtOM7Gsixb1h3H8cH3/S3A8M1BURRYpqZp2next8Az4E2lV8jzHAvF5qZp5ANjDHn0o0Bd16TPAef8qwAry7JXAHcGeEwqkKbp0wGKyAL+EvLkDrIs+yqgKAryqHSRgiAgSZKIKIqOmqYRVVU7id/wDDnIfbp6vAWwNzMMY6nr+gLwqGcGKczgJITYAz6/CoxxDxD+sMEX6BMdgb89ppsAAwDi5ZEgMNjfAQAAAABJRU5ErkJggg==)}.context-menu-item.icon-uncheck_all{background-image:url(images/uncheck_all.png)}.context-menu-item.icon-child{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAbhJREFUeNqMkk1Lw0AQht+kW2ObNH6AqEEFweJB7NGDB4t4EUR/gHhSqScV/AsevAnqQZCKF/EPeBGhoFexhwqCVA9FUYtosWI/kjSJm2jLNm3VgVmGeYedmd2HG4s+gzWO4ybosUpDhUk/wbK2LMuKsbXnC10gRqkEl62ODneEA4SXPz41pDjgBlywJZmxtZi7mKiFgjunZN/y8quuQ9M0WMUi+jVNvkxlFNM0XaU9IP5AwH0Bdqda6MQWuxbGD15Qz0gum61J5nIi2G48z6NeHUDfgF4PnY5ZXoW+STy0nq7tREjcQ4gTCz4fvM3N33mptdUZ8WNnEoIgwGwPLuXFPkcc0K8jd96hPTv25+7BZ26hqirk5ZPKioTtYhjGtCdz2y3RQtvsOSSkI4xu//lx1WTlQJjZwEN0obt3es3pCNpAvTiEMDJHX/EHhuPNSO/ifjU34f10BRxTzft5wZ9nwWHBcutn850xUtJ1BhyxHji/6jZIDcEJiCJkSWqoV0D6C5zfdAekv8BprFOQnuOniVA6VAOO9niVfDpaUZTZ7WQDPQEMOh/URL2Nugf/N4P6O11L/RJgAELP+1i5uXi0AAAAAElFTkSuQmCC)}.context-menu-item.icon-descendent{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrUlEQVQ4jaWSXUgcdxTFf/+d2ZndmbXV3c0msbUS0lRFhJSgkWiooRCKDxYCoRhCHqQEST8IBApL6VOfhOQtfQnEEDSQKARMSx9KbWzT2qKl+Wg02ATE0BqwuuOuOzszuzPz70Ojja2FQu/TvdxzD+eee+F/hvi3RluDQiwWBcB1K0zNBf+d4IUkPBjM9OsJ7S0Ar+gNNvX9PvRb7p9YdSuCSAT8taWOiE8XgO9wPxJhaCvslgQyBM/GCSp/1n4ZV4ZbbrB5hfb2dgYGBnqF4CXNeRQLRLxfEHoR6Q2W4y97UjKfzWZHJicnN2aU9aQqDudP12bM9CtjWnl+7XEuPr9U4NtcUf7gVqSXUhfaItLpa0t/f3l0/Ikb/F1RXRpWr2lXnBvI/Eh0vKPpL3Hd+wSFUXXGGUOuXtXOPWc849d6UpPMUMqLXH5FD+28sFLp2g3Q89XbsVdFLp/TQrugWJnMjs0mmjHofz97aNI00p40HE0riWOnEsfvzb837DgOb7599sR3ob1cxihqutv84UfytXffOfm17T714MwRXevtWLqUFLOLt+/OdR18cap+p/bTqcaaX0cOvyqqW3ctXsiIO2O37/xytLNuunu3+WNPtboy9NVdX6oAMenFqgrTnYkQ48ksXrKBdkWlOSixTUSrEuniraaKH21dXTC8VGN+v4iwJ/RQgbIK8OU9CkKSAio3f4ZElF4hiBfLYqXt9TeOfJbbfl1VUJsaJqKffJpvRaBMzFIGENlsVk0mk6ZhGKaqqoZhGFEhhAGgSJdO5eOLy2HDF7XKdN/DoOeDGfvAN77vlxzHsS3LssXw8PBeoBuoB2qAqqf/kXjmSiFQBAJgDbCABeBz0dLSQiqVQtd1TNMEELquoyjKxokBgiAIPc8DkKVSCdd1sSyLPwDiLQq1/0crjgAAAABJRU5ErkJggg==)}.context-menu-list{margin:0;padding:0;min-width:120px;max-width:250px;display:inline-block;position:absolute;list-style-type:none;border:1px solid #ddd;border-radius:3px;background:#eee;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.5);-moz-box-shadow:0 2px 5px rgba(0,0,0,.5);-ms-box-shadow:0 2px 5px rgba(0,0,0,.5);-o-box-shadow:0 2px 5px rgba(0,0,0,.5);box-shadow:0 2px 5px rgba(0,0,0,.5);font-size:11px}.context-menu-item{display:block;padding:2px 2px 2px 4px;background-color:#eee;position:relative;-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none}li[id$=_contextMenuToolbar]{padding:4px 2px 4px 4px}.context-menu-separator{padding-bottom:0;border-bottom:1px solid #ddd}.context-menu-item>label>input,.context-menu-item>label>textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.context-menu-item.hover{cursor:pointer;background-color:#bababa}.context-menu-item.disabled{color:#666;cursor:default}.context-menu-input.hover,.context-menu-item.disabled.hover{cursor:default;background-color:#eee}.context-menu-submenu:after{content:">";color:#666;position:absolute;top:0;right:3px;z-index:1}.context-menu-item.icon{min-height:18px;background-repeat:no-repeat;background-position:4px 2px}.context-menu-item.icon-edit{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAH8SURBVDjLjZPfS1NhGMdXf0VEQhDUhdCN4X0IYT8ghIJQM0KoC4vushZddLELKyRhQQkSFIKEGEkUCI2oxVhepG5zi1xbc0u3cDs7Z+ec/ezT+x62scmmHvhwDrzP93Pe57znsQE2cR0SdAm6d+GwYL/M1LBVBV35fF4plUqVcrlMK8Q6TqdzYrukJuiW4Vwuh67rdbLZLJlMhmQyaUnigVlC05f4+dbB0tQplp92DsnwPimQBaZpUigUrLtE0zQURSGVSqHF37DhGkVZeQdagszKLJ7HvZtNAhmuIQWGYaCqKps/ZkivPqCwPs/Gp0cYvjnKUTe+F9fMJoFoo96zfJZ9K+sLpP33qRhujPANtr7dJPhqmO/PBxX3+PljTYLtqImPpH13qZge9LUrmLEB1FU7sZd9jJw5MljNthYk/KLnxdFqeAjzdz9Z/z3Ck2fRE36qx9pakAjME1y4Lbb9GTMyTD52GUXsZO3ZadTkL6umrSD4ZZrAezvLH54Q915EjwywtXSH8FQf+t+I9V12FLwe6wE1SmjyAi77Qb6Kt3rGe9H+hKzwrgLH9eMUPE4K3gm8jpPMjRwlHfNTLBbr7Cjo7znA2NVOXA/PsThzi2wyah1pI+0E/9rNQQsqMtM4CyfE36fLhb2ERa0mB7BR0CElexjnGnL0O2T2PyFunSz8jchwAAAAAElFTkSuQmCC)}.context-menu-item.icon-cut{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIaSURBVDjLY/j//z8DLqyaNVPLrnr5PMnESay41DDgM8Cuellm+7rTT0RiJ3Aii4snTGIiygDnupV5c/dc/QF0AT9MTCl9hq5P67qtRBng3ri6ZN2Je/9lU6bKgfgSCZPVJ2+7+CR9+u5tRBng07K2+sCVZ//lUqepCMX0y87cefnO9B2XH4rGTZQgyoCA9vUt5+69/a+QNj25f/O504evPf+jkDbNmuhADOna1Hn50cf/fZvPf7vz8ut/87JFOUTFAq9tHDiUI/u3dd8Fatxy9tH/xCk7FxCMRiGXNCmjzLmrneo2XtLJmLckffqesxcefPgfP3HbUcHgRha8Bgg5p0kANd5OWHXnf8i8C59TN7/6P3PXjf8PX//4H965bg+vZbgjXgOMsuasiVt67a+Ub4GdhHeef8LaJ/9n773zf+nZ9//Tt7//H7vsxn9Zz7QUnAZ4de375Fi3Ahy/RnnTpqdteP6/ZNGpf+kbn/7XjZty0Ld3x2XrgvVfuA08ObAa4NK09XnUkmsvHJvWHU3b9ua/Wd7yG+Y5a14HTj3yGSSvHlZW5lCx/b+QRZA0VgPkgsvDAqcffxO17MY/s5xlp7lMAyVMM1Y8DF9w8RenlqOcWVbfHPvSLX94jX0FcMaCiGu6hJhHlgKMrx83/1jypuf//Sftf5q0+u5/o6RFN0jKjTyGXuyGiQuu25dt+26SuuQBj5G3CLoaAMk4ntedg7qJAAAAAElFTkSuQmCC)}.context-menu-item.icon-copy{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADHSURBVCjPdZFNbsIwFAa/5B5FuQPCOQ9HQuqCq3SHUAtrrgFCSKQk8Y80XTjYJqiajRfj55GftNBKJtGoRiXSytlAZORzM1ckExjouHEm0LPdqHkTRnruXAgEPGpVq1JVCJ6RB3dOfHFEa7W5RzLx3kjPDse8ZxKisue9JwkByzevPQGZQnD8kHuunEvB43EcyD0dt/kEzzGdLD2/k9Ckb261zs9ZhiggVRO12jzN4Z5C+tQq90T+ETK20/J1tU2xeCOjpT7+APfbTaDnTb/mAAAAAElFTkSuQmCC)}.context-menu-item.icon-clone{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH3QcRCAkM7pbvYQAAAUxJREFUOMudk09Kw0AUxr/5UwkI7nKA4h3atTeQLl24CC3iCewFiruSE2RTcdUbdNm91BNkqa0oCC2ZJMx7LpppY2Jq9QcDAzPfN+97MyOw5RSAKMZPpACyYi4BkFvQAKCUOl+tVo8AuGzCzCAiNRwO76MoeiiEVDWB1rpDRLxer3mz2eyGI0mSz8FgcOUOrCK01h1mZmMMG2M4SRJO05TLLJfLt16vdwngpNEgyzLO87wmdszn85cgCK6LCHUDay0fYvG8qMX5lklKiUMICHiedzYajUJjzPvrxWR2WFGBedt43/f9brfbRjXL7+y3Z3mKfxhwKY7kWQDSx5W+FQqxf6jEVgIQRxmUhXtXSbtbsNZ+hGF4S0Qcx3G73+/f1dJLiVar1RCnhHsTTRARExGPx+MbVwH/pY0ujigmtR6U4zR8b1ZKYTqdPgHAF45ZEL7hCcriAAAAAElFTkSuQmCC)}.context-menu-item.icon-paste{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAH+SURBVDjLdZI7aFRREIa/k3u5cclGwiXEF9GInSCIoF0qa1/BynJdyBYhtaRJSrsFK4XtBCGFQRALm4BYKQg2ti5JQEh2hay66ObMmbG49+4jSwYOc4rzfzP/nHFmBsCL6uWrwDfGo7PcaM5wQrjnjxduABvAnXJ6hkdr63TbnwGYmr3Fy/Un/O3+AngFbC03mq+HATGwdfv+g4ul8jT++1fMjNDrAmBmLF6bZ+LcFczs4fs3b+8CY4BLpfJpjn4fICo0N+tgBhht+4Ka4ff3ODV7ITFInHPOCt85ADRgIkzMnEWDYKb8aHf52fmHAbp/iNsTdlo9gJvOuQNg18w0BjBVVAT1PdT3wIxW65B7a++I4qTf7hKwIfKp0Wg8W1lZqTvndnOAoMFjprn37ERxgvceEUFE8N6TpimVSmU1jmNqtVp9IgMEVDwmHg0BDYppBnPOEUURURThnAMgSRKq1eoqMBcXAMRjQTFRVA2VDBBFUT9PTk7S6XQIIZCm6WCIpllVFUUlYGpYCCMdFHfnHCIy8o3ZEH3ARDEJqIKKDbYthxQWitwHZNUzgOYWig6GIcdBgz0IhnrNZ1BY0PG9z4WFpQLw0R8dLU6dn8+EqphCybf6j4YWb6R6AXj6YXt7GrjeFwA7rR5LJ4gAQgh/gOCG6cfaXQDmODkCcPAfs2Qwc59hLO4AAAAASUVORK5CYII=)}.context-menu-item.icon-delete{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGqSURBVDjLlZM7S0JhGMfVox+gqYZuQkMETYZNQmi2+QGKligiCBoalFragoqGzDM41NRQQy4VKDhUSyC0NLR1EeKIt7wePV7/vc/BI97NF36cA+f9/97neQ6vCoCKrVGGgWHswyRDQxkFVU1gkCQpWSqVKuVyGZ1g3+Fyuc5aJYrASOFsNgtRFOukUikkEgmEw2FZEgqFwPN8k4SWmgS0IZ/Po1AoyE8ik8kgmUwiEonIglwuBzrE7XbLkjYBhRVIQIF0Oo1oNNrWUm0m6iYBa6O+gd6pb6WVWCwmVyIIQndBK40SqoTmEY/H/y9olFA7NBMSDSQgisWiPBeSEAMLqIrvWyde1mbgt+jwtDIBfl7D9xRQSCHoOceb3YT8wymq716I17sIbM9WfGbtTl8Blf+8OoUcC8NpAxxDwKEe0eMF+Ba5z75/gaCyq68eNK7EwQj8Zm21UVDtNoPH5XFkL9YBFpLsKvwyglscfFbuR7kLc2zKItvc8TJ93ZwgsDkNwaFHZE+Hjw01/DZtxWvl9hXBGEl6XeXLpWH+zsIJVPa9hQtfmbgjyv4BPlWugike25IAAAAASUVORK5CYII=)}.context-menu-item.icon-quit{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEuSURBVDjLpZM9SgRBFIRr/EHXwGVFAxUPYmTgMTyEoblX2NwjGG9i5B0EMTIQFWTBaHTeqyqDHmdX0FlhHzSvO6n+qvp1ZRvL1AqWrLX5w93VuSXBJkhCKovMrpOJk4vr6lcBidg7PgVMWIYkWATEbv9wc/03AZkwiY/3J7i93STcEmxu7yOz6ReQCDFhFTExIRJWgox+gcwot2UUAmY5kzADzkBEL0Er0PUZReUGIhcRNAU5muI/E1JiZzjF4cEbHp+HyIx+C2otdPgqfTodoP5c/w9BgNn8sPD6sgFzFVu76ieIaGYhMtrwWiGVPRkLCLJkYJX0vyms8rQLMigWBqMj2IKZsFSWCbGM83xVtjGZTFzXNeL2spv3+fmf/QnCJu5HZwCA8XhcVct+5y9H3H2zjxE/HwAAAABJRU5ErkJggg==)}.context-menu-item.icon-add{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAB90RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgOLVo0ngAAAExSURBVDiNvZM9SgRBEIW/6p7AYNhE0ETFAxgIop5AzTyCIBjueBGDRScTwWMIXmARE4+wKCYbmaizTPc8g/1xZ13dRcEHTdNF16v3qrtMEma2AiwDnp/RBR4lVaOIJICtoiheyrKMIQRNW0VRKM/zc2AdcJKQhA0U7JRl2e71es7MRuQhBBqNBvvXn7HD1/wiy7LWw9Vex4pnEhtkmJnz3uOco6r6Cp1zXzw0m81TgM2TrNU+O+jUbgwThnuaplMbMSBZShfXSCYJhhamVZ/ExvElBhiwHUK4A/De1zzPQq2M97NecQbBb1Cz8J2CcUu3xyLGSJIku8D9nxX8P0EIoXYe/wei348aYozcHIXJcAUgSYkkmVkVY3wHFuZQVcUY34AIjIZplf44z2spAl1JTx9MRpCdM880HAAAAABJRU5ErkJggg==)}.context-menu-input>label>*{vertical-align:top}.context-menu-input>label>input[type=checkbox],.context-menu-input>label>input[type=radio]{margin-left:-17px}.context-menu-input>label>span{margin-left:5px}.context-menu-input>label,.context-menu-input>label>input[type=text],.context-menu-input>label>select,.context-menu-input>label>textarea{display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.context-menu-input>label>textarea{height:100px}.context-menu-item>.context-menu-list{display:none;right:-5px;top:5px}.context-menu-item.hover>.context-menu-list{display:block}.context-menu-accesskey{text-decoration:underline}.context-menu-item.icon.rup-icon{display:block}.context-menu-item.rup-css-sprite{padding:2px}.context-menu-cursor{cursor:url(data:;base64,AAACAAEAICACAAQABQAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH/gAAx/4AAYQCAAGH/gADBAIAQwf+AGYEAgB2B/4AfgQCAH/H/gB/h/4AfwAAAH4AAAB8AAAAeAAAAHAAAABgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////MAD//hAA//4QAP/8MAD/fDAA/zhwAP8YcAD/APAA/wDwAP8AEAD/ABAA/wAwAP8AcAD/AP///wH///8D////B////w////8f////P////3//////////////////////////////8=),default}.context-menu-item.context-menu-visible{background-color:#bababa;cursor:pointer}.context-menu-item.context-menu-visible>.context-menu-list{display:block}.rup_dashboard{margin-left:4px;margin-right:4px}.grid-stack-item.hidden-content{height:40px}.rup-feedback{border:1px solid #c7c700;background-color:#f6f6ce;background-image:none;color:#000;overflow:hidden;padding:1em}.rup-feedback_closeLink{float:right;background-image:none;background-repeat:no-repeat;background-position:100%;padding-right:1.5em;color:#00f;text-decoration:underline;cursor:pointer}.rup-feedback_closeLink:hover{background-image:none;text-decoration:none}div.rup-feedback_closeLink.rup-jqueryui{background-image:url(images/rup.close.png)}div.rup-feedback_closeLink.rup-jqueryui:hover{background-image:url(images/rup.close_hover.png)}.rup-feedback_image{background-repeat:no-repeat;background-position:8px 12px;padding:1em .5em 1em 4.5em}.rup-feedback_image_ok{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcUlEQVQ4jZVR30tTcRw99/u9P5x36s1fA5d1lZWYpTdfCtRtiQmbmflWgTF78qnsL7D9BfPFBymSwEgjKE3QCKYPRmWml0TIDF1mc0NzVzc3NnW3hzBERul5/HDO+ZzP+TA4CrohE4Z08JSXBcr7eMrdY48glghDRq/JTtksFmB5y4+Pa1MyOayeMrT9krlGtpmrYUwzwH68Bpl8uv1QCbgHrCJyYodTrsf32AIAQGeSAAgOlYAlrOdW6XXwHIuoHkFZdjk+rargCNf5X4P0RwZXaXaJvdKk4GdiCeXZlQhEg5j5NeujhLr/nNAFBQQKGKhog7onzugxSoQhHlfZTYSTGnINeRA5I57NvQBL2NbJJlUj6ILHIhVNO07W9eSkHZtGNzz7ivM0WZxSrpiDLYRRnHEK71cmEN2Jdk42qWMAwIJB++2yFhg4AZflWvTO9bfPPvwiiZzhcX56nuuqpQGBnWVYMkrgj6xgKqj6KEPde0sIGMDIi1hLrGJzN4Q759tgL6xyUUJHW8+1YIckIPIiOMJj6NswKKHN7xontb8p0QgplNAu2s1WxPUY4noMtkIbiiUZFaaz2MA6ThiK4PWNYUHzud9emejbXzLFEF77awPy5vamYjNbEUcca7tBVORUIIwN5KeZ4A8HMPR1WB1v+HDj4JcoAOiv9IFQvSZHtiNKdUEVCGWwmgwik8+CgYjo/fwU28mEw/fkRyClAQDEXyYGYo6YPB+aV6zmGmQJmcgTTPAujmFBW3R7HeN9B8Upceb56R7nmzp9cL1f717q1OtGrNP/4jOphhcGK+8LVLgrUF6jhDaP1HvVVDwA+A0rr9F+/wY4EQAAAABJRU5ErkJggg==);background-color:#dff2df;border:1px solid #00b500}.rup-feedback_image_alert{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACM0lEQVR4nKWTX0hTcRTHv797f9uda802sOXmzJWrkZEURK4/QlJElqEhJGG99NBL2xWHDt1oBQX2kES1hxAhoqDwIcKHlEKFWq0SiV56CAqDiKJ0m7Ntd7v39BaYkxIPnKfz5cOXL9/DiAgrGb7UIRwK2znXjSaTiawkSc19V/q+LAtgs9luHm/cv7VAgnb3wcOrANqKColo0XZ3BZ3xeLwwef8MzU01UywWywQ6A95iWqEY1OGwj9XWbBYdth9QVRU7amsMFqtl8L8c9Pb0tr+belOYHj5FDmcluTZWU+rDAL2Kv8z5ff6T/3Tgdruj7kqLqCkz4JyDNA263CNs27JO7/F4on/rFwAi5y9cajpy0Pz9eQACB+bTacylEpCMeki/BtDaeszcIXdEiwLCobDd5VrfWapLgLM0ysqmANKwoaocTB0HUwZhNf8UPB7PaVmWnYsAnPN7LY37SmbinbBZJ2CQvsJiKUVFhRUomQWM3yBqZ3Gi7dAqBjawIMTuruDe8aejSvb9Dco90ZE2CaK3oNQnTnOfOdEsiLIgUiXK52/RyMjjjOyX9/wJ0WAw3N69a7tOnb4O0aiCCYDCgMPtOyFHmgAjAP0aQHCD8zE0NNQZJEkaAgAxm8mFjh6oaylXXwgsOQTd6gIYB0QTcGe4AvXej/DWFwBWDWATADsEYS0kqUrf338tj2Cw57WSSdNyJ5/Pke+c7xkXBZaKXLw8X7RlAMAY2BIFNJlMClvpO/8G8rA1fYkIinMAAAAASUVORK5CYII=)}.rup-feedback_image_error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gMBw8GF7RLhCYAAAMFSURBVDjLdZNfaFNXHMc/9557e1uT3CYh0lLmKFgGc2WI4laWggw3mLDoizJKq3u2vvjkEAuC9EXwOVNhnYFRKNk6tynuRdmquMAUtnZsS9Gh0VA06bL03lxzk3vP2UNq5/594cfh9+V7zvn9fud7NP6Bb6em9m7pjb9naTrCMECDMAhooSjXal+NTk9/9rxeez75dGwss6M3ng/v3LEIJSiFUgqQoGlYu3YFPzrO+18nErPZbBYA49nm7J49mZeDIP/0i0uWCgL+C62VFeOldDpXWV4GmAUQAB8MDWXetO28efu25UvJw0SCeLP5txJLySRdnocolfTNicT+Acu6983q6pI4sG3bO+8KYz714L7lK4V/5AijFy/yc6FApFxGAU+2byd99SpV2ya4cYPualVPRKP7zf7+otibSk2lq5WdKAW7d/NaNotpWQxkMvxaKOClUrw+N0ckmWRgZITfi0VUsUjU8/SyEF2GrK8hleqUu7BAJZcjdfgwXZEIb8zOIttteuJxpJT8MT9PePkyrOtFo4GhwoDwWa9K8eD4cQIpiR08iAIwTRquy9MrV3h07BhIuTEbqRRGEARITUNDdWgp+X5mhldGRrCiUQAC32dxZoaBMETT/nr5lgK9qTonhevrw6EhXjhzhmYY4jgOjuvSaDZ5cXqa+8PDhEohO87AVxLdtbo2iLWtW0mdOkVTKRzHwSwUMK5dw3UbeO02m0+epD48vH6hwhEC/VEy+eUP3d1tCdi1GvFWC9dxiS8u8vjECZ6cPk1v4TsajQZ2u02iViMEljdtkr/F45dEqVL5Zc007w7GYvvsel3IW7fos2NUzp5FSYkCvJs36U8maZ47h18uU4pG5SeeN9kaHPxIAxgfH6d6/frYeE9Pbku9bvI/0IDHsZic8/1Jc3T0/Fw+37Hy0tIS91z3p9VI5O5gLLavr9USAhC6jtC0jVixbflxEEy+eujQ+Q8vXPj3bwR4e8fOA2+Z5kRfyyel6xiaRkNKqobBghCfpycmcpNHj27o/wR6m2WS35rzJQAAAABJRU5ErkJggg==);background-color:#f6cece;border:1px solid red}.rup-language_root{border-top:1px solid #dadada;position:relative;width:100%;line-height:2em;float:left;margin-bottom:.7em}.rup-language_root div{z-index:900}.rup-language_root a{color:#0052c7}.rup-language_root li{float:left;margin-right:1em;list-style-type:none}.rup-language_root ul{margin:0}.rup-language_change a{background:url(data:image/gif;base64,R0lGODlhEAAOALMPAOjo6KKiol1dXVBQUEZGRkNDQ0lJSVRUU0xNTEBBQUBAQU1NTFdXV01NTUFAQP///yH5BAEAAA8ALAAAAAAQAA4AAARF8IVJa3hYgs07uFjgjaC2CSjKleLJHIOwZi0gwIu8sZwwIAbdh2bzAQkFFc/WMCAVuqUNmRBKbQ7hMOTRbk2jGc1iyTwiADs=) no-repeat 100%;padding:.2em 2.4em .2em .6em}.rup-language_close_languages{float:right;background-image:url(images/rup.close.png);background-repeat:no-repeat;background-position:100%;padding-right:1.8em;color:#00f;text-decoration:underline!important;cursor:pointer}.rup-language_close_languages:hover{background-image:url(images/rup.close_hover.png);text-decoration:none!important}.rup-language_language_list a:link{text-decoration:none}.rup-language_language_list a:focus{border-style:dotted;border-width:thin;outline:none}.rup-language_language_list ul a:link{text-decoration:underline}.rup_language_link{padding-right:.1em}.rup-language_change_option{background:url(data:image/gif;base64,R0lGODlhEAAOALMPAOjo6KKiol1dXVBQUEZGRkNDQ0lJSVRUU0xNTEBBQUBAQU1NTFdXV01NTUFAQP///yH5BAEAAA8ALAAAAAAQAA4AAARF8IVJa3hYgs07uFjgjaC2CSjKleLJHIOwZi0gwIu8sZwwIAbdh2bzAQkFFc/WMCAVuqUNmRBKbQ7hMOTRbk2jGc1iyTwiADs=) no-repeat 100%;padding:.2em 2.4em .2em .6em;background-color:#f7f7f7;border-top:1px solid #ababab;border-right:1px solid #ababab;border-left:1px solid #ababab;color:#000!important;line-height:1.5em;position:absolute;text-decoration:none}.rup-language_language_list{background-color:#f7f7f7;border:.1em solid #ababab;padding-top:.6em;padding-bottom:.6em;position:absolute;left:0}.rup-language_language_list ul li{display:block!important;float:none!important}.rup-language_language_list ul li a:hover{color:#000!important;font-weight:700;text-decoration:none}.rup-language_hidden{visibility:hidden}.rup-language_root .ui-state-active{color:#0052c7;border:none;font-weight:700}.rup-language_root .ui-state-active a:link{text-decoration:none}.rup-language_portal li{margin:0}.rup-language_portal_list,.rup-language_portal_list:HOVER{float:left;padding:0;margin:0;color:#000!important}.rup-language_portal_list:HOVER{text-decoration:underline}.rup-language_portal_list_active{float:left;padding:0;margin:0}.rup-language_portal_separator{float:left;padding:0 .5em}.rup-maint_feedbackUL li{margin-left:2em;margin-top:.2em}.rup-maint_new{background:transparent url(images/nuevo.png) no-repeat!important;width:14px}.rup-maint_edit{background:transparent url(images/editar.png) no-repeat!important;width:14px}.rup-maint_cancel{background:transparent url(images/cancelar.png) no-repeat!important;width:14px}.rup-maint_delete{background:transparent url(images/borrar.png) no-repeat!important;width:14px}.rup-maint_save{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAKYQAACmEB/MxKJQAAAAd0SU1FB90CDQsfNuRrWgoAAAKNSURBVDjLbZFNi11FEIaf6u5zzk1mjGMSJ0gwkjFk4W8QJBv/gug/EP0PKiqugiC4CYIrZyMSx4XgJuBSJAmCGEUlzAjx3jBzPzLn3PPR1V0u7iXjV0FRUIunnu5X7ty5LXtf7p1rmsa/eO1lnj5/Hu88PhQURSAUBTlnclbIifFkwjdff0VZlPrKa69Ow+5nu2cP9g9ubWxsbF989jkuX7qEGSCCOMEJeBFEIHhBQsHQDQzd8PDm519cC/VxHUIRtkXkwqgqmEzniAgAIoIA4sCtFlRlQUoJM6Pr2hD6vmdUjXDOIWK8sPMM/1dmq/njL7+hqpgZMSohpQSA956cjbs/7yNOMAADM1s3aMpUzkgpkXNGkxJUdX3BWHaRKzsXH18zMmasewW6v3+wNshojCcGAClnfvj1D5w4wFhzyLaySTkxkhODOCghrQ1yytz76R5ntrb+827DsLyax48WxGEAICb9u0Fib/dTzGydwiq6E5hhGIIQigIRIcV48gcAOEe3XCII4tw/AIJQjUZghqoiIsR/A/qu5/pHH2LZsJypTq3jRZhOp7zz9ls8Whzz5BNn8N4TfSR0Q/cYkHNiPJ7wyY0b6BB5/c032NzcJMbIfD6nKiuqqqePPS45DCMM7QAIYKhGkirToyNUlaauUVVijMxmM/q+Jw4D3gV85WnbJWEYBhMxb4alnGW5XDIeT0hJmc3nlGWJqjKbTWnqhrbtKItASgpg4fu7tx9e3blyvRqVHwiifd/7d99/T6IqR4eHLBYLVJW6rq1pmtR1LRoDIpK6IRbh9/vf8vzllz4+99TZ7y5sbxd/Pniwder06dI55y1nF0Iw75w2SHfc1PPFfG5OHOKkXbbt4V9eU519G/8PGwAAAABJRU5ErkJggg==) no-repeat!important;width:14px}.rup-maint_filter{background:transparent url(images/filtrar.png) no-repeat!important;width:16px}.rup-maint_clone{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QcFCSceyJE9+gAAAn5JREFUOMulkjtoVGkUx3/nu3e+OzNJJiOaxU3izOSh4wPTBDQYSGEriO7CVmYtxM5GxF4EO618gGC91TbCssUuEnBRiIVRXNQUiqL4iJlMZnJzJzf3ft9nMTg+2S08xakOv/M7/I8AnDl7buOrheWBldWWtc4hAp7n0ViqsRZFVIcHkstXLs3zjfIBao3o6NjunRcKhQLWWpRS+J5HrVbj+YtXWJuwb3Jq4vatm7PfBLx+V4+PHhln964qxlo8pdAZzdy/j9ixvEJlsB/jmMl29R7bMVq++6mNAhCB9SQhSRKi1RZhGGGMwVPC/QcPefB4ni2VkVy5MvSbl+t5vG9yau9nBkoEQVhYrJPPZdFa01wJGamUCFcjnj57zsT4GC+fzHP40EFURt8I8oX9M3//cccHwAmBzrCyGrGwWGdDsUBrLaa7K8+u7dsoFnv5oa+PINDM3b/HYHm4q7FUn50+8mu1fYISUmPJZbP0FroJtEZnfKJWi0YzRGuNzmh8zyOOYybGx+gtdPP23WLgf7hFlKCUwhiD1hk2bdwAziEiiECcGNI0pTQ4QHXrMEGgGaqUpjoAay1R1MIBzTBEZ3ySJCUINPlsFjAYY/F9v2NjrUv9dgpCkqQgMa14DSWKMIyoLzfp39xHefBHnHVYZykWerC2bdNJAcD3PKojZZxziGqnIiJY57DWoTyFiEIQAIyxyAeA73nZN4vL9BSXMMZ2vkxE2kARjIN4PcGYtGODSBuwtOZfnPnrz1+u/97Yk6ZpZ8tHUrvlcwFbSqWOjXPuy0mYPn7y1M8/HTy/dXToP22uXb1K2mqc+ApwYPq0Ht3EP83m/9t05bMTfG+9By7GEKDRGKskAAAAAElFTkSuQmCC) no-repeat!important;width:16px}.rup-maint_filter_pressed{border:1px solid #999!important;font-weight:400!important;color:#212121!important}.rup-maint_export{background:transparent url(images/filtrar.png) no-repeat!important;width:16px}.rup-maint_export_pressed{border:1px solid #999!important;font-weight:400!important;color:#212121!important}.rup-maint_linkPaginacionDetalle{background:none;border:none;clear:none;cursor:pointer;float:left;text-decoration:underline;color:#0052c7!important;font-size:.88em;padding-right:1.3em}.rup-maint_searchCriteria{background-color:#fffacd}.ui-menu{list-style:none;padding:2px 0;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{transform:scale(1);transform-origin:0 0}.ui-menu .ui-menu-divider{margin:5px -2px;height:0;font-size:0;line-height:0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;line-height:1.5;transform:scale(1);transform-origin:0 0;padding-top:.1em}.ui-menu .ui-menu-item a.ui-state-active,.ui-menu .ui-menu-item a.ui-state-focus{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default;filter:Alpha(Opacity=35)}.ui-menu .ui-state-disabled span{filter:Alpha(Opacity=15)}.ui-menu-icons{position:relative}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .rup_menu_vertical_horizontal .ui-icon{top:.4em}.ui-menu .ui-menu-icon{position:static;float:right}.rup_invisible_menu{visibility:hidden;display:none}.rup_menu_vertical.ui-menu .ui-menu-item a,.ui-menu .ui-menu-item .rup_menu_vertical_horizontal a{padding:.2em .3em}.ui-menu li strong{cursor:default}.ui-menu .ui-menu-item a{cursor:pointer}.rup_menu_horizontal.ui-menu-icons .ui-menu-item a{position:relative}.rup_menu_horizontal{width:100%;float:left;font-weight:400;z-index:810}.ui-menu .rup_menu_horizontal_children.ui-menu-item{list-style-image:none}.rup_menu_horizontal.ui-widget-header{font-weight:400}.rup_menu_horizontal_children{float:left;background:none;border-style:none;border-width:medium;border-right:1px solid #7c7676;border-radius:0 0 0 0;text-align:center;padding-left:.5em;padding-right:.5em;padding-bottom:.15em;margin:.15em 0}.rup_menu_horizontal_children_entry{width:100%;float:left}.rup_menu_horizontal_children_icon{left:-.8em!important}.rup_menu_horizontal_childrenIcon{padding-left:1.2em;padding-right:.2em}.rup_menu_horizontal_childrenMenuIcon{padding-right:.2em}.ui-menu-icon.ui-icon.rup-menu_horizontalIcon{margin-top:3px;margin-right:0}.rup_menu_horizontal_children_double{padding-left:1.6em}.rup_menu_horizontal_children_double .rup_menu_horizontal_children_icon{left:-1em!important}body:first-of-type .rup_menu a.ui-button{border-right-color:-moz-use-text-color}.rup_menu_horizontal_disabled{margin-top:0;margin-bottom:0}.rup_menu_horizontal .rup_menu_horizontal_children.ui-state-focus{background:none;border-style:none;border-width:medium;border-right:1px solid #7c7676;border-radius:0 0 0 0}.rup_menu_horizontal .rup_menu_horizontal_children.ui-state-focus a.rup_menu_horizontal_children_entry{font-weight:700}.rup_menu_horizontal .rup_menu_horizontal_children a.rup_menu_horizontal_children_entry.ui-state-active{border:none;background:none;font-weight:700;margin:0}.rup_menu_horizontal .rup_menu_horizontal_children_last.ui-state-focus,.rup_menu_horizontal_children_last{border:none}.rup_menu_vertical{float:left;z-index:800}.rup_menu_vertical_horizontal{z-index:810;text-align:left}.rup_menu_vertical.ui-menu-icons .ui-menu-item a,.ui-menu-icons .rup_menu_vertical_horizontal .ui-menu-item a{position:relative}.rup_menu_vertical .ui-menu.ui-widget.ui-widget-content.ui-corner-all{z-index:800}.ui-menu{margin-bottom:.5em}.menu4{height:200px;overflow-y:auto;overflow-x:hidden}.address-item{border-bottom:1px solid #999}.address-header{display:block;margin-bottom:.2em;font-weight:700}.address-content{display:block;margin-bottom:.2em;padding-left:10px}.ui-menu-icon.ui-icon.ui-icon-carat-1-s.rup-menu_horizontalIcon{position:absolute;right:.2em;left:auto}.rup_menu_horizontal_children_entry:hover{font-weight:700}.ui-menu-item:not([aria-haspopup=true]),.ui-menu-item:not([aria-haspopup=true])>a{text-decoration:underline}ul.ui-menu.rup_menu_vertical_horizontal li.ui-menu-item{padding:0}.rup_menu_horizontal_children.ui-menu-item{padding-left:.5em}.ui-menu .ui-menu-item.rup_menu_horizontal_children_double,.ui-menu .ui-menu-item.rup_menu_horizontal_childrenIcon{padding-left:1.6em}ul.rup_menu_horizontal.ui-widget.ui-widget-content{border:1px solid #aaa}.rup_menu_horizontal.ui-menu .ui-menu-item-wrapper{padding:3px 1em 3px 0}.rup-message_icon-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gMBw8GF7RLhCYAAAMFSURBVDjLdZNfaFNXHMc/9557e1uT3CYh0lLmKFgGc2WI4laWggw3mLDoizJKq3u2vvjkEAuC9EXwOVNhnYFRKNk6tynuRdmquMAUtnZsS9Gh0VA06bL03lxzk3vP2UNq5/594cfh9+V7zvn9fud7NP6Bb6em9m7pjb9naTrCMECDMAhooSjXal+NTk9/9rxeez75dGwss6M3ng/v3LEIJSiFUgqQoGlYu3YFPzrO+18nErPZbBYA49nm7J49mZeDIP/0i0uWCgL+C62VFeOldDpXWV4GmAUQAB8MDWXetO28efu25UvJw0SCeLP5txJLySRdnocolfTNicT+Acu6983q6pI4sG3bO+8KYz714L7lK4V/5AijFy/yc6FApFxGAU+2byd99SpV2ya4cYPualVPRKP7zf7+otibSk2lq5WdKAW7d/NaNotpWQxkMvxaKOClUrw+N0ckmWRgZITfi0VUsUjU8/SyEF2GrK8hleqUu7BAJZcjdfgwXZEIb8zOIttteuJxpJT8MT9PePkyrOtFo4GhwoDwWa9K8eD4cQIpiR08iAIwTRquy9MrV3h07BhIuTEbqRRGEARITUNDdWgp+X5mhldGRrCiUQAC32dxZoaBMETT/nr5lgK9qTonhevrw6EhXjhzhmYY4jgOjuvSaDZ5cXqa+8PDhEohO87AVxLdtbo2iLWtW0mdOkVTKRzHwSwUMK5dw3UbeO02m0+epD48vH6hwhEC/VEy+eUP3d1tCdi1GvFWC9dxiS8u8vjECZ6cPk1v4TsajQZ2u02iViMEljdtkr/F45dEqVL5Zc007w7GYvvsel3IW7fos2NUzp5FSYkCvJs36U8maZ47h18uU4pG5SeeN9kaHPxIAxgfH6d6/frYeE9Pbku9bvI/0IDHsZic8/1Jc3T0/Fw+37Hy0tIS91z3p9VI5O5gLLavr9USAhC6jtC0jVixbflxEEy+eujQ+Q8vXPj3bwR4e8fOA2+Z5kRfyyel6xiaRkNKqobBghCfpycmcpNHj27o/wR6m2WS35rzJQAAAABJRU5ErkJggg==);background-position:50%;background-repeat:no-repeat;float:left;height:24px;margin-right:.9em;padding-top:2.1em;vertical-align:middle;width:11%}.rup-message_msg-error{padding-top:1em;text-align:left;vertical-align:middle;float:right;width:84%}.rup-message_icon-confirm{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC+ElEQVQ4jWWTP2xbVRjFf9+99/01TgwJCQkMbkMKqCkEKGoXBpiQEqkpZUL8y8BeRqYwMMBQRMWMGtQgJCSKYWCohARIVCCoMJUgLbSipVERTuzYcexn+713L4OlirafdLZzznC+c4TbbnZxrSTIEkoeQ9S8iICob0WkevHMC5Xb+XKLeOH08WIxXnloZqoUhSFRFDHIcmr1XerNDts7navWuTfWPz1SucNgduH0qfm58mt7y/ezfq1LrZmR2SHFaAg9QTtLo1WnnybLv3+yuHrTYHZh7a1DT8ysFEfH+eVyh73TEa8vTvL0o0WsdXzz6w6nzm5x5cYALdDtNMgG3aO/ffxcRWYX18pTE6W/Dj7+CN9daDM17lN5+2GsteS5w1qLc44b9ZSXTlxHRHDOkrRqTWvzPXp837GVw0/OHl7fyOiljt2eJQ4U9VbGiTM1HLBn0iP2hR8v92n1QGmNaB3m6eCS8QNvSZmI7XYXRECED76skTshs6C18OyBGOccm7uOTjrMLNQRottHzOhIoVxrpsM0BPqpo9vJEa15YMLnzWNjWGs590efRg/8yABQUJB0dclYB71BjnWwvZORI3i+RnuKd16ZIA6EK/9mnPy6QxB7KDV8XDFw1BsGM0hzBMfmdooTwfgKZRQLB+9iZtJgrePD7xNSZQgChdIKgJGCRZRGdZJBpd1OsM4hSlB6iKl7DM45nHNc2nQEoSGIPMLYY2TEIwxAtKkaRH3Rau8uFcNRulZQaojKzwn7pn22EjC+xgs0fuhhfE15DP5cbyFKf6Qufvb8atJPqpHOMQKIIEo4+lTMoRmfhTmfuWmD9jReqJm+10ORs/FPv3L+/QNVBeBwy4O01QzE3uz2hesp3QFs7MDfTYdRcN+oUPIyzv3QqIrSy7dsYf+LX82jzOe5GS3rsEgcGeKCR6FouLvkMVYybDV6XNtIqoNMnvnp3Qebd6xx7uWzJZQ6Ltp71XhBOS7EhJEhzS27SV4VbU6ef2//6v81/wH6bjI89FfNwgAAAABJRU5ErkJggg==);background-position:50%;background-repeat:no-repeat;float:left;height:24px;margin-right:.9em;padding-top:1.5em;vertical-align:middle;width:11%}.rup-message_msg-confirm{padding-top:1em;text-align:left;vertical-align:middle;float:right;width:84%}.rup-message_icon-ok{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcUlEQVQ4jZVR30tTcRw99/u9P5x36s1fA5d1lZWYpTdfCtRtiQmbmflWgTF78qnsL7D9BfPFBymSwEgjKE3QCKYPRmWml0TIDF1mc0NzVzc3NnW3hzBERul5/HDO+ZzP+TA4CrohE4Z08JSXBcr7eMrdY48glghDRq/JTtksFmB5y4+Pa1MyOayeMrT9krlGtpmrYUwzwH68Bpl8uv1QCbgHrCJyYodTrsf32AIAQGeSAAgOlYAlrOdW6XXwHIuoHkFZdjk+rargCNf5X4P0RwZXaXaJvdKk4GdiCeXZlQhEg5j5NeujhLr/nNAFBQQKGKhog7onzugxSoQhHlfZTYSTGnINeRA5I57NvQBL2NbJJlUj6ILHIhVNO07W9eSkHZtGNzz7ivM0WZxSrpiDLYRRnHEK71cmEN2Jdk42qWMAwIJB++2yFhg4AZflWvTO9bfPPvwiiZzhcX56nuuqpQGBnWVYMkrgj6xgKqj6KEPde0sIGMDIi1hLrGJzN4Q759tgL6xyUUJHW8+1YIckIPIiOMJj6NswKKHN7xontb8p0QgplNAu2s1WxPUY4noMtkIbiiUZFaaz2MA6ThiK4PWNYUHzud9emejbXzLFEF77awPy5vamYjNbEUcca7tBVORUIIwN5KeZ4A8HMPR1WB1v+HDj4JcoAOiv9IFQvSZHtiNKdUEVCGWwmgwik8+CgYjo/fwU28mEw/fkRyClAQDEXyYGYo6YPB+aV6zmGmQJmcgTTPAujmFBW3R7HeN9B8Upceb56R7nmzp9cL1f717q1OtGrNP/4jOphhcGK+8LVLgrUF6jhDaP1HvVVDwA+A0rr9F+/wY4EQAAAABJRU5ErkJggg==);background-position:50%;background-repeat:no-repeat;float:left;height:24px;margin-right:.9em;padding-top:1.5em;vertical-align:middle;width:11%}.rup-message_msg-ok{padding-top:1em;text-align:left;vertical-align:middle;float:right;width:84%}.rup-message_icon-alert{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACM0lEQVR4nKWTX0hTcRTHv797f9uda802sOXmzJWrkZEURK4/QlJElqEhJGG99NBL2xWHDt1oBQX2kES1hxAhoqDwIcKHlEKFWq0SiV56CAqDiKJ0m7Ntd7v39BaYkxIPnKfz5cOXL9/DiAgrGb7UIRwK2znXjSaTiawkSc19V/q+LAtgs9luHm/cv7VAgnb3wcOrANqKColo0XZ3BZ3xeLwwef8MzU01UywWywQ6A95iWqEY1OGwj9XWbBYdth9QVRU7amsMFqtl8L8c9Pb0tr+belOYHj5FDmcluTZWU+rDAL2Kv8z5ff6T/3Tgdruj7kqLqCkz4JyDNA263CNs27JO7/F4on/rFwAi5y9cajpy0Pz9eQACB+bTacylEpCMeki/BtDaeszcIXdEiwLCobDd5VrfWapLgLM0ysqmANKwoaocTB0HUwZhNf8UPB7PaVmWnYsAnPN7LY37SmbinbBZJ2CQvsJiKUVFhRUomQWM3yBqZ3Gi7dAqBjawIMTuruDe8aejSvb9Dco90ZE2CaK3oNQnTnOfOdEsiLIgUiXK52/RyMjjjOyX9/wJ0WAw3N69a7tOnb4O0aiCCYDCgMPtOyFHmgAjAP0aQHCD8zE0NNQZJEkaAgAxm8mFjh6oaylXXwgsOQTd6gIYB0QTcGe4AvXej/DWFwBWDWATADsEYS0kqUrf338tj2Cw57WSSdNyJ5/Pke+c7xkXBZaKXLw8X7RlAMAY2BIFNJlMClvpO/8G8rA1fYkIinMAAAAASUVORK5CYII=);background-position:50%;background-repeat:no-repeat;float:left;height:24px;margin-right:.9em;padding-top:1.5em;vertical-align:middle;width:11%}.rup-message_msg-alert{padding-top:1em;text-align:left;vertical-align:middle;float:right;width:84%}.ui-dialog .ui-dialog-title{width:auto;padding-right:.3em}.rup-table-filter-fieldset{border-top-style:hidden}.rup-table-filter-toggle-label{text-decoration:underline}.collapse_icon_right{float:right;cursor:pointer;opacity:.5}.collapse_icon_right:hover{opacity:.3}.collapse_label,.matched_layer{font-weight:400}.matched_layer,.search_collapse_layer{float:left}.search_nav_layer{float:right}.table-bordered{border:1px solid silver;border-bottom:1px solid #dee2e6}.paginationContainer{border:1px solid silver;border-top:0;padding:5px 0}td>div.centerOnResponsiveContainer{display:flex}.dataTable .sorting_asc.sorting_active_only .mdi.mdi-arrow-down{display:none}.dataTable .sorting_asc .mdi.mdi-arrow-up:before{font-weight:600}.dataTable .sorting_desc.sorting_active_only .mdi.mdi-arrow-up{display:none}.dataTable .sorting_desc .mdi.mdi-arrow-down:before{font-weight:600}.dataTable .sorting.sorting_active_only .mdi.mdi-arrow-down,.dataTable .sorting.sorting_active_only .mdi.mdi-arrow-up{display:none}.custom-select{-webkit-appearance:menulist;-moz-appearance:menulist;appearance:menulist}.ui-tabs .ui-tabs-panel{border-width:1px}.rup-loading_tab_error{font-size:2em;margin:1.5em .5em;color:#f71229}.rup-tabs_loading{float:left}.rup-tabs_loading,.rup-tabs_loading_img{width:1.2em;height:1.2em;margin:0 0 0 .3em}.rup-tabs_loading_img{vertical-align:middle;background-image:url(images/rup.ajaxLoader.gif);background-position:50%;background-repeat:no-repeat;float:right}.ui-tabs .ui-tabs-panel.rup-tabs_container{padding:.4em}.rup-tabs_title{float:left}.rup-tabs_overflow{overflow:scroll}.tabs-bottom .ui-tabs-nav{clear:left;padding:0 .2em .2em}.tabs-bottom .ui-tabs-nav li{top:auto;margin:0 .2em 1px 0;border-bottom:1px solid #d3d3d3;border-top:0}.tabs-bottom .ui-tabs-nav li.ui-state-active{margin-top:-1px;padding-top:1px}.rup-tabs-close{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;margin-left:1px}.rup-tabs-close-hover{border-style:solid;border-width:1px;border-radius:4px}.ui-tabs .ui-tabs-nav li a.rup-tabs-link-close{padding:1px;position:relative;right:.3em;top:50%;width:19px}.ui-tabs .ui-tabs-nav li a.rup-tabs-link-close:hover{margin:-1px;cursor:pointer;border:1px solid #999;background:#dadada url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAANklEQVQ4jWN48uTJfyYGBgaGUWKUGCWGLfHt2zcoi5GREYNgYmJCZiG42IiB98woMUqMEtgIAMdjCdyg+eEBAAAAAElFTkSuQmCC) 50% 50% repeat-x;color:#212121}.ui-tabs .ui-tabs-nav li.ui-tabs-selected.ui-state-active a.rup-tabs-link-close:hover{margin:-1px;cursor:pointer;border:1px solid #999;background:#dadada url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAANUlEQVQ4je3LMQoAIBADwb38/6t5wFXaWAiCtUiaYZvF9hBACOFbuntVVe11B0CSjjeE8BwThQIJ8dhEl0YAAAAASUVORK5CYII=) 50% 50% repeat-x;color:#212121}.rup-tabs-close{box-sizing:border-box;float:left}.ui-timepicker-div .ui-widget-header{margin-bottom:8px}.ui-timepicker-div dl{text-align:left;margin-top:.5em}.ui-timepicker-div dl dt{height:25px;margin-bottom:-25px;float:none;clear:none}.ui-timepicker-div dl dd{margin:0 10px 10px 65px}.ui-timepicker-div td{font-size:90%}.ui-tpicker-grid-label{background:none;border:none;margin:0;padding:0}.ui-slider-handle{z-index:1!important}.rup-toolbar{overflow:hidden;padding:.1em .4em}.rup-toolbar_button{margin:5px 2.5px}.rup-toolbar_menuButton{margin-right:5px}.rup-toolbar_menuButtonSlided{background:#ece9d8;color:#00f}.rup-toolbar_menuButtonContainer{background-image:none;overflow:hidden;padding:.5em .4em .4em}.rup-toolbar_menuButtonElement{width:100%}.rup-toolbar_menuButtonElement .ui-button-text{text-align:left}.rup-toolbar_menuButtonIcon,.rup-toolbar_menuButtonSlided .rup-toolbar_menuButtonIcon{background-position:-64px -16px}.rup-toolbar_button .ui-button-icon,.rup-toolbar_button .ui-button-icon-primary,.rup-toolbar_menuButton .ui-button-icon-primary{width:18px;height:18px}.right_button{float:right}.borrar{background:url(images/borrar.png) no-repeat!important}.borrar.disabled{background:url(images/borrar_disabled.png) no-repeat!important}.buscar{background:url(images/buscar.png) no-repeat!important}.buscar.disabled{background:url(images/buscar_disabled.png) no-repeat!important}.cancelar{background:url(images/cancelar.png) no-repeat!important}.cancelar.disabled{background:url(images/cancelar_disabled.png) no-repeat!important}.editar{background:url(images/editar.png) no-repeat!important}.editar.disabled{background:url(images/editar_disabled.png) no-repeat!important}.filtrar{background:url(images/filtrar.png) no-repeat!important}.filtrar.disabled{background:url(images/filtrar_disabled.png) no-repeat!important}.imprimir{background:url(images/imprimir.png) no-repeat!important}.imprimir.disabled{background:url(images/imprimir_disabled.png) no-repeat!important}.nuevo{background:url(images/nuevo.png) no-repeat!important}.nuevo.disabled{background:url(images/nuevo_disabled.png) no-repeat!important}.csv{background:url(data:image/gif;base64,R0lGODlhEAAQAPZOADhnJjxuKjNtMz9oPDZ2MzN8Mz1zOjh3Ozp/OT95PUJ2LlBQUFRUVFhYWF5eXkF8QUl5RUh9R0t9Rk92TFB6T1d9UmNjY2pqamRzZnBwcHd3d319fT6AOjyAPUmAM1CKOFaTPEmKRU2MRkmHSUqETVGBT12dQVWAVF+GWlmQX12eWmOlRWesSWuxS1uFYXKfcGWjZnyte32Qhn2zgoSEhIqKipCQkJWVlZqamp6enoKogJS5kaGhoZXBj+Dg4OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fn/8/39/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAE8ALAAAAAAQABAAAAeygE9PPISFhoKITzlNjI2MOTmJTzhNQpZAPz9NRTg4iTeVlpaaP0U3N08tqqusTT5ARTY2LI6OtI41KzIuD4wkBxMrQ0NCQU00Jk07IgYSBB5NJkXDQ00bIIw9KAMSTUwgQ0bDTRofjCMzKR0wOh9IReJNGdAJBR0xKgJNHkpIDQ1NLijAQCFEhBMvSlRQ0O9fEwsBajUKsKQiQAcAMmrcaNFGkwaCGEiUyEDQgpMoU6YMBAA7) no-repeat!important}.dll{background:url(data:image/gif;base64,R0lGODlhEAAQAPcAAGrfR2WT0K7L9JihzcPd/Onz9rmFHoyWnyuXI+W4TMDNsdHo/1dgcYep3P///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAIlgAdNBhIsKCDgwgbIFwosAGDhQoZHgxA8UBChAUOHFBQgAABARoPRiwAQAECBBwXLBDwUGABkiVPIiCgkqXIlwcA6ETAgObKlg1eFpCZ4IABAx+BCi2gIEHRowpsuhTa1OnRA1IDqCyg8miCow2yqhwroIEBigLEjl3gMa3blgE8qvTY9u3EAXjz6tXY0gFfBoADB7YYEAA7) no-repeat!important}.doc{background:url(images/doc.gif) no-repeat!important}.exe{background:url(data:image/gif;base64,R0lGODlhEAAQAPcAAMXFwvb29hwcxlpaVFhYqIqKiunp6ampqVRURqGhpzc3N5OTk5eXmZiYr6Skr1BQUAsLv+Xl5UlJnz09P0lJzdHR0crKyk1NTZ6envb284+Pj4mJiff39KCgrAsLwP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAIfgADcBhIsCDBABkwOOjAsCHDBhAbdBiQQICHixg9QKBAoCOBCRUzZpSAYEDJCQcWOmzIoCWDAw8wAMhAsybNADgDRLiAwcKHn0CD/jTA06fQo0R7HkVadKnQpEadDm0qdarSqh+IJqiANeuDDRrCih0rdoGCBRvSql2rtsCCgAA7) no-repeat!important}.gif{background:url(data:image/gif;base64,R0lGODlhEAAQAMY/ANTY2nh4eLCwsLKLIuy5LUk5Dvf3976+vmxUFNWnKP/HKVVCEGBLEj4xDFdEDqenp8fHx+Li4sPDw7q6uszMzPTGRa+vr/DCQ/v7+/X19fDw8Oi9NqysrO/BQpNzGI9wG97e3rGxsfn5+fz8/PnJR21tberq6s+uQ9fX1+O4O7Ozs8rKytrc3/j4+PLy8v7+/29vb9PW2rePHe++NLKysui7OPb29vz9/uGwK8mdJpt5HeG3OvjCL62trezs7P///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAEAALAAAAAAQABAAAAexgEBAIBIqAocCIQITFIKOBzYGNpOTGT4QB45ANCI+np8+IxGYjhYtoJ8YPiYrPUAKPLGyszw1Bq4KOQM4PDg4BDnBPCklrh4FDAUEOjo5BQgIPBcBrg4DCTo4zDkLOgM8HdRA1h8FOdvd3yTiMg0MDdjN0bEV4go4OQS9vwmyM+IbdggcSHDHCRiugDxw4eMHgIcPY7D4cUvQAw0Nb2jc+IJiQg6oQvpIiKKHyZMoTwYCADs=) no-repeat!important}.jpg{background:url(data:image/gif;base64,R0lGODlhEAAQAKU9AEl4odnj67CwsNTY2nh4ePf3976+vubs8vP2+X2fvMfHx7/P3qenp4qpwv7+//z8/KysrDJlkfv7+/n5+cPDw7Gxsa+vr9rj6rq6uvDw8DJhikNwlW9vb9fX18zMzKi8zurq6jVljbTG1fj4+PX19eLi4jxmiqS80NPW2rOzs/Ly8jVljj1slW1tbbKyskFynNrc397e3srKyjxvmvb29rLG15eyyfz9/mOMrjZmjq2trS9lk+zs7P///////////yH5BAEKAD8ALAAAAAAQABAAAAajwN8vRkkJjoKKAOMROg20Am06JfEUBufPNeF5v7xHCeu0jMBfCQ8k0/128Lgc/iq4dwDbzmZrzPA2CRstdzg9Oz01ATUACAsBIgSFh4mLDQEAJx+SPzaGiDU2MwkHADU9nAgHC4g4cDMBBwgXnDM4f7dyODgRnCwaKyE5w8TDJhxuPwwqPD0Dz88oMD12QgwZzTfa2w7UyRBo4TzJHTrm5+jnQQA7) no-repeat!important}.js:not(html){background:url(data:image/gif;base64,R0lGODlhEAAQAKIAAP///wAAAICAgMDAwP//AICAAAAAAAAAACH5BAAAAAAALAAAAAAQABAAAANQKLrcISDGJseTQBCwbbTQBBQkGACgyKGPl2YjGcwnG2qrV10TQRY6GwbXqb0yigCJJYSZOK4LhPDYEHQvwWAgCGxrTQCNhgFtz+j0eM2eJQAAOw==) no-repeat!important}.ods{background:url(images/ods.gif) no-repeat!important}.pdf{background:url(data:image/gif;base64,R0lGODlhEAAQAMZDAO3t7aenp/Ly8vb29ttFQ99+fd+Yl7CwsNUqJ+np6ezs7Pn5+d/Ew+vr6/f39/DX16CgoKGhoa89PPX19dhoZumNjPv7+6ysrPDw8L6+vuTk5Ofn56urq8fHx+Li4urq6ti2tt6pqLOzs+Hh4d7e3vT09NfX16qqqqRSUObm5uzMy/7+/qmpqdra2rGxsdjY2OPj47W1tfz8/Ojo6N/f38PDw/r6+szMzK+vr/Hx8aamprKyssXFxbq6uvj4+K2trbe3t6Ojo8rKyv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAH8ALAAAAAAQABAAAAengH8kNSIHhoY9N3+LjBkDDgORAxMKHRmMizsLCQ0NHwkeMh6WmDg+CqgNCTAWCh9CPIwBAgC1thgTCyUssrS2AAUPIzQOF72/wAYaGg4/x78EBjMbxc+2CAgMDQsn1rUGBgQMFgHeACAtBNgSBYuzyBQEFAYhEhXuGL8FBSC1FhGMLkzIgUEFAQKRFthYwYGRCSA6IiCQgAKCxSAxXmBiVIHAg42MAgEAOw==) no-repeat!important}.ppt{background:url(data:image/gif;base64,R0lGODlhEAAQAMZoAPPa2vns7O2HVfLX17Y9PfDR0cdXV5I2LrBfRPHU1P3Rufy4lJE6M/vz8/34+PHV1fTe3sROTm0WE+7MzPDS0vjq6rQ8POzFxfvy8sFERNF1deaOavz19e6RSlUMD/Xg4MRNTctuUsF0W+6ESL1dRO+XW9eHh+7AiK9HOfnt7frv7//8+v78/Lo+Pvbk5O/Ozt+EZMVQUO+1f+OqquvDw9uSkthgKuq/v+StremLXvrw8NR+fuumeNN4Wvfn58BfRsVmTP35+fzAoevCwuzGxsJISNF0dP3Gqum8vJ1dSL0/P9mNjcNKSu/Pz8ZUVLA5L/Xh4fXJl++XZ/3MsvV+QMBBQc5ra+7Ly9aDg/7077xPL7c9PctiYurAwMldXf/7+MlcXP7z7f/9/MhZWdl/Y4YrLcxmZui5uf///////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAH8ALAAAAAAQABAAAAfggH9/ZzteBocGYwZWNYKOGgEpAZOTFQMmGo5/YBgFCQkUTVdDQV0mRo5OOgOsDwUTNA4DFEtYfxswZD0hIUA/JCQQFQ0+RYIZLgDKywAXN0gqEYIKCAwMSQvLE0QXKjF/CihZXx4MZQtTEgUvEynSCGErYh42AgjKrgUBIH8HVAIbtAiQcuCIhAEPEmBg8ofBiSgyBAgocUDZAFAOMvxB0OEEjxwCRiAQImEZByXgUHQoEfJJNmYNtkwTceCAiJfMHBAQFKEClA8fIECg1IADC35/ZpipQqBpUwtQW3DBEQgAOw==) no-repeat!important}.txt{background:url(data:image/gif;base64,R0lGODlhEAAQAKIAAPz+/MTGxAD/AISGhAQCBAAAAAAAAAAAACH5BAUUAAIALAAAAAAQABAAAANAKErA3ioKNkC9MNbHs6hAKIoBoY0oUJ4N4TCqqYBpuM6hq8P3V5MyX2tnC9JqPdDOVWT9kr/mLECtWnuT5TKSAAA7) no-repeat!important}.xls{background:url(data:image/gif;base64,R0lGODlhEAAQAMZaAN/u5O728TBSLNzt4VqkVVOgbGyzg9fq3VqCV+Tx6Nnr3zWHMluqdE2WS1+TSWSvfPn8+tjr3vX69wRpBNvs4DhdJtPo2u318FKeauLw52+waIbAmXW2bVmpc/T59mWqXGOue42qgfb692SZYfH48x54HXy7c/D38mmsZJbJpszk1HG1h9Xp29Tp21+seEeTQP3+/cTgzbTYwGCteafQnZzHlFShbWWvfbfawl6aV2mxgIXAmG2zhI7En5C8gYXBfLLWqujz7FamcPr8+9Hn2FWkbn28kXayY5vLqkdtM8fi0MLfy8ji0JLGo+r07Xm6jnC1hsvk03W3ip/NrkmHQsnj0Vipcs3l1fL49OXx6f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAH8ALAAAAAAQABAAAAfUgH9/Sz0rBocGPAZGU4KOGwEnAZOTFwMpG45/UB4HCgoRLERVQ0wpO446WAOsFAcWURADEUhNfxooKDkAAAi+CBkXEk4ufw1AJiYOCBoECxMqSjEkD4IvNBwfVM4TABZXKiQ3ggwLNR8ESd0ABy0WJ9V/DM4+Dg0VIyOuBwEgggRHCJT4Ya9CiAEUFHiY8YeAgIcCSnAoOAAUBAbkgvAKAVEALwAihAjqkOCjyY8SbIwsedIkhAKCHlzIkiBBhgyUJIiA4e+PjCdWCggViqFoESk4AgEAOw==) no-repeat!important}.zip{background:url(images/zip.gif) no-repeat!important}.qtip,.ui-tooltip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px}.ui-tooltip-fluid{display:block;visibility:hidden;position:static!important;float:left!important}.ui-tooltip-content{position:relative;padding:5px 9px;border:1px solid #000001;text-align:left;word-wrap:break-word;overflow:hidden}.ui-tooltip-titlebar{position:relative;min-height:14px;padding:5px 35px 5px 10px;overflow:hidden;border:solid #000001;border-width:1px 1px 0;font-weight:700}.ui-tooltip-titlebar+.ui-tooltip-content{border-top-width:0!important}.ui-tooltip-titlebar .ui-state-default{position:absolute;right:4px;top:50%;margin-top:-9px;cursor:pointer;outline:medium none;border-width:1px;border-style:solid}* html .ui-tooltip-titlebar .ui-state-default{top:16px}.ui-tooltip-icon .ui-icon,.ui-tooltip-titlebar .ui-icon{display:block;text-indent:-1000em}.ui-tooltip-icon,.ui-tooltip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.ui-tooltip-icon .ui-icon{width:18px;height:14px;text-align:center;text-indent:0;font:normal 700 10px/13px Tahoma,sans-serif;color:inherit;background:transparent none no-repeat -100em -100em}.ui-tooltip-default .ui-tooltip-content,.ui-tooltip-default .ui-tooltip-titlebar{border-color:#f1d031;background-color:#ffffa3;color:#555}.ui-tooltip-default .ui-tooltip-titlebar{background-color:#ffef93}.ui-tooltip-default .ui-tooltip-icon{border-color:#ccc;background:#f1f1f1;color:#777}.ui-tooltip-default .ui-tooltip-titlebar .ui-state-hover{border-color:#aaa;color:#111}#qtip-overlay{position:fixed;left:-10000em;top:-10000em}#qtip-overlay.blurs{cursor:pointer}#qtip-overlay div{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;opacity:.7;filter:alpha(opacity=70);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"}.ui-tooltip .ui-tooltip-tip{margin:0 auto;overflow:hidden;z-index:10}.ui-tooltip .ui-tooltip-tip,.ui-tooltip .ui-tooltip-tip *{position:absolute;line-height:.1px!important;font-size:.1px!important;color:#123456;background:transparent;border:0 dashed transparent}.ui-tooltip .ui-tooltip-tip canvas{top:0;left:0}.ui-tooltip-light .ui-tooltip-content,.ui-tooltip-light .ui-tooltip-titlebar{border-color:#e2e2e2;color:#454545}.ui-tooltip-light .ui-tooltip-content{background-color:#fff}.ui-tooltip-light .ui-tooltip-titlebar{background-color:#f1f1f1}.ui-tooltip-dark .ui-tooltip-content,.ui-tooltip-dark .ui-tooltip-titlebar{border-color:#303030;color:#f3f3f3}.ui-tooltip-dark .ui-tooltip-content{background-color:#505050}.ui-tooltip-dark .ui-tooltip-titlebar{background-color:#404040}.ui-tooltip-dark .ui-tooltip-icon{border-color:#444}.ui-tooltip-dark .ui-tooltip-titlebar .ui-state-hover{border-color:#303030}.ui-tooltip-cream .ui-tooltip-content,.ui-tooltip-cream .ui-tooltip-titlebar{border-color:#f9e98e;color:#a27d35}.ui-tooltip-cream .ui-tooltip-content{background-color:#fbf7aa}.ui-tooltip-cream .ui-tooltip-titlebar{background-color:#f0de7d}.ui-tooltip-cream .ui-state-default .ui-tooltip-icon{background-position:-82px 0}.ui-tooltip-red .ui-tooltip-content,.ui-tooltip-red .ui-tooltip-titlebar{border-color:#d95252;color:#912323}.ui-tooltip-red .ui-tooltip-content{background-color:#f78b83}.ui-tooltip-red .ui-tooltip-titlebar{background-color:#f06d65}.ui-tooltip-red .ui-state-default .ui-tooltip-icon{background-position:-102px 0}.ui-tooltip-red .ui-tooltip-icon,.ui-tooltip-red .ui-tooltip-titlebar .ui-state-hover{border-color:#d95252}.ui-tooltip-green .ui-tooltip-content,.ui-tooltip-green .ui-tooltip-titlebar{border-color:#90d93f;color:#3f6219}.ui-tooltip-green .ui-tooltip-content{background-color:#caed9e}.ui-tooltip-green .ui-tooltip-titlebar{background-color:#b0de78}.ui-tooltip-green .ui-state-default .ui-tooltip-icon{background-position:-42px 0}.ui-tooltip-blue .ui-tooltip-content,.ui-tooltip-blue .ui-tooltip-titlebar{border-color:#add9ed;color:#5e99bd}.ui-tooltip-blue .ui-tooltip-content{background-color:#e5f6fe}.ui-tooltip-blue .ui-tooltip-titlebar{background-color:#d0e9f5}.ui-tooltip-blue .ui-state-default .ui-tooltip-icon{background-position:-2px 0}.ui-tooltip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.ui-tooltip-shadow .ui-tooltip-content,.ui-tooltip-shadow .ui-tooltip-titlebar{-ms-filter:"progid:DXImageTransform.Microsoft.Shadow(Color='gray', Direction=135, Strength=3)"}.ui-tooltip-rounded,.ui-tooltip-rounded .ui-tooltip-content,.ui-tooltip-tipsy,.ui-tooltip-tipsy .ui-tooltip-content,.ui-tooltip-youtube,.ui-tooltip-youtube .ui-tooltip-content{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.ui-tooltip-rounded .ui-tooltip-titlebar,.ui-tooltip-tipsy .ui-tooltip-titlebar,.ui-tooltip-youtube .ui-tooltip-titlebar{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.ui-tooltip-rounded .ui-tooltip-titlebar+.ui-tooltip-content,.ui-tooltip-tipsy .ui-tooltip-titlebar+.ui-tooltip-content,.ui-tooltip-youtube .ui-tooltip-titlebar+.ui-tooltip-content{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.ui-tooltip-youtube{-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333}.ui-tooltip-youtube .ui-tooltip-content,.ui-tooltip-youtube .ui-tooltip-titlebar{background:transparent;background:rgba(0,0,0,.85);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)";color:#fff;border-color:#ccc}.ui-tooltip-youtube .ui-tooltip-icon{border-color:#222}.ui-tooltip-youtube .ui-tooltip-titlebar .ui-state-hover{border-color:#303030}.ui-tooltip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));border:2px solid #f1f1f1;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.ui-tooltip-jtools .ui-tooltip-content,.ui-tooltip-jtools .ui-tooltip-titlebar{background:transparent;color:#fff;border:0 dashed transparent}.ui-tooltip-jtools .ui-tooltip-icon{border-color:#555}.ui-tooltip-jtools .ui-tooltip-titlebar .ui-state-hover{border-color:#333}.ui-tooltip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4)}.ui-tooltip-cluetip .ui-tooltip-titlebar{background-color:#87876a;color:#fff;border:0 dashed transparent}.ui-tooltip-cluetip .ui-tooltip-content{background-color:#d9d9c2;color:#111;border:0 dashed transparent}.ui-tooltip-cluetip .ui-tooltip-icon{border-color:#808064}.ui-tooltip-cluetip .ui-tooltip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.ui-tooltip-tipsy{border:0}.ui-tooltip-tipsy .ui-tooltip-content,.ui-tooltip-tipsy .ui-tooltip-titlebar{background:transparent;background:rgba(0,0,0,.87);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)";color:#fff;border:0 transparent;font-size:11px;font-weight:700;line-height:16px;text-shadow:0 1px #000}.ui-tooltip-tipsy .ui-tooltip-titlebar{padding:6px 35px 0 10px}.ui-tooltip-tipsy .ui-tooltip-content{padding:6px 10px}.ui-tooltip-tipsy .ui-tooltip-icon{border-color:#222;text-shadow:none}.ui-tooltip-tipsy .ui-tooltip-titlebar .ui-state-hover{border-color:#303030}.ui-tooltip-tipped .ui-tooltip-content,.ui-tooltip-tipped .ui-tooltip-titlebar{border:3px solid #959fa9;filter:none;-ms-filter:none}.ui-tooltip-tipped .ui-tooltip-content{background-color:#f9f9f9;color:#454545;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.ui-tooltip-tipped .ui-tooltip-icon{border:2px solid #285589;background:#285589}.ui-tooltip-tipped .ui-tooltip-icon .ui-icon{background-color:#fbfbfb;color:#555}.fileupload-buttonbar span.ui-icon-cancel{background:transparent url(images/rup.cancel.png) no-repeat!important;width:16px;height:16px}.fileupload-buttonbar span.ui-icon-trash{background:transparent url(images/borrar.png) no-repeat!important;width:16px;height:16px}.fileupload-buttonbar span.ui-icon-circle-arrow-e,.fileupload-content .rup-dropdown-btn-group .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-dropdown-button span.ui-icon-circle-arrow-e,.fileupload-content .rup-wizard .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_submitButton span.ui-icon-circle-arrow-e,.fileupload-content .rup-wizard a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_next span.ui-icon-circle-arrow-e,.fileupload-content .rup-wizard a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_prev span.ui-icon-circle-arrow-e,.fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-button span.ui-icon-circle-arrow-e,.fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-toolbar_menuButton span.ui-icon-circle-arrow-e,.fileupload-content button.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary span.ui-icon-circle-arrow-e,.rup-dropdown-btn-group .fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-dropdown-button span.ui-icon-circle-arrow-e,.rup-wizard .fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_submitButton span.ui-icon-circle-arrow-e,.rup-wizard .fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_next span.ui-icon-circle-arrow-e,.rup-wizard .fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_prev span.ui-icon-circle-arrow-e{background:transparent url(images/rup.upload.png) no-repeat!important;width:16px;height:16px}.fileupload-content .rup-dropdown-btn-group .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-dropdown-button span.ui-icon-cancel,.fileupload-content .rup-wizard .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_submitButton span.ui-icon-cancel,.fileupload-content .rup-wizard a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_next span.ui-icon-cancel,.fileupload-content .rup-wizard a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_prev span.ui-icon-cancel,.fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-button span.ui-icon-cancel,.fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-toolbar_menuButton span.ui-icon-cancel,.fileupload-content button.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary span.ui-icon-cancel,.rup-dropdown-btn-group .fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-dropdown-button span.ui-icon-cancel,.rup-wizard .fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_submitButton span.ui-icon-cancel,.rup-wizard .fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_next span.ui-icon-cancel,.rup-wizard .fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_prev span.ui-icon-cancel{background:transparent url(images/rup.cancel.png) no-repeat!important;width:16px;height:16px}.fileupload-content .rup-dropdown-btn-group .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-dropdown-button span.ui-icon-trash,.fileupload-content .rup-wizard .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_submitButton span.ui-icon-trash,.fileupload-content .rup-wizard a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_next span.ui-icon-trash,.fileupload-content .rup-wizard a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_prev span.ui-icon-trash,.fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-button span.ui-icon-trash,.fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-toolbar_menuButton span.ui-icon-trash,.fileupload-content button.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary span.ui-icon-trash,.rup-dropdown-btn-group .fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-dropdown-button span.ui-icon-trash,.rup-wizard .fileupload-content .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_submitButton span.ui-icon-trash,.rup-wizard .fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_next span.ui-icon-trash,.rup-wizard .fileupload-content a.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-primary.rup-wizard_prev span.ui-icon-trash{background:transparent url(images/borrar.png) no-repeat!important;width:16px;height:16px}.fileupload-content .file_icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAANkE3LLaAgAAARxJREFUeJydkTFqhEAUhv/RaQRJJRirnEJILhEJpLGyMpfxAFaWOUGaVHuAgHXA2iKCYCUS5vkmzWaZWV3X5IdhmOGb7/HmCRxzOBy+mVlhJY7juF3X1WmaPgP4WgC+7z8Rkb60pmnSTdPoqqo+ANxY8uOu1yqbGccRWZbFZVm+AwjOBZuRUoKI0Pc98jx/KIriDcDtboEQAkoptG2Luq6RJMl9FEWPACBNUOvLncRxDCICEcHzPAgh3IVgTytS2k+sEzPvErmu+z8BM4OZ4Xne3wTMDK01mBmO41isJVBKnQATMsXnRSwBEW22sBYJAPM8w9yvRWt9Yq/+gRBicWdyliAIgl19m2P81d+FYfjCBrkxEQEAwzC8Avj8ARK8rCIgUJQ+AAAAAElFTkSuQmCC);width:15px}.fileupload-content .file_download{margin-top:.5em}.fileupload-content .file_download_icon{background-image:url(images/rup.download.png);width:15px;margin-top:.5em;padding-left:12px}.fileupload-content .file_download_text{margin-left:.5em;text-decoration:underline}.fileupload-buttonbar{border-top:none;border-left:none;border-right:none;padding-left:0}.fileupload-content .ui-progressbar{height:15px;margin-top:.5em}.fileupload-content.ui-widget-content.ui-corner-bottom{border-top:none;border-left:none;border-right:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.fileupload-content .izq_float{float:left;margin-right:1em;margin-bottom:.5em}form.rup_validate input.error{border:1px dotted red}form.rup_validate label.error{color:red;font-style:italic}.widget-header{padding-top:.35em}.widget-header>div{display:inline-flex}.widget-header>div.widget-header-controls{float:right;padding-top:.15em}.rup-wizard_stepsDescContainer{list-style:none;width:99%;overflow:hidden;height:35px}.rup-wizard_stepDesc a{font-family:Arial,Helvetica,clean,sans-serif!important;cursor:pointer;color:#0052c7;float:left;text-decoration:underline;text-align:center;height:35px;background:#ebebeb url(data:image/gif;base64,R0lGODlhCwAjAIQAAP////7+/v39/fz8/Pv7+/r6+vn5+fj4+Pb29vX19fT09PPz8/Hx8fDw8O/v7+7u7uzs7Ovr6////////////////////////////////////////////////////////ywAAAAACwAjAAAFUWABRGRpAoqpKqN6Fm75tHEUBDUJOPlBx4BEjvFzAWC5ACRHKKoAjVzCeRLWHNRSNvLA1QCDWmN7rE1zwZqBzKgJBMlH7XYlI10L8qGGIC9qIQA7) no-repeat 100% 0;font-size:1.09em;padding:9px 25px 0 10px;display:block;font-style:normal;font-weight:700}.rup-wizard_stepDesc a:hover{text-decoration:none}.rup-wizard_stepDesc a:focus{border-style:none;border-width:thin;outline:none}.rup-wizard_stepDesc.current a{color:#fff;text-decoration:none;cursor:default;background:#69c url(data:image/gif;base64,R0lGODdhCwAjAPcAAGaZzOvr6////+Dq9ezs7PX19fDw8Pr6+nKYvvPz84+itvj4+O7u7vz8/NPc5tTe56KtvH+bt5inuGuYxbO9yLS9yMjR2+/v78rS3Iietfn5+XiZuqu1wfHx8b/H0d3p9Kq0wfv7+/T09Kq5yL/H0Iikw/DZxfb29mqWwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAE+xIAWH13ADT5EgAmizl+NQSSfD4EknxomRUAJAACACz6EgACAAAAuUKSfADg/X8AEJF8KPkSAFj5EgAAAAAAuACSfGT5EgAAAAAAuACSfOBoFwAw+hIAQQCSfNgHFABdAJJ8/GgXAOhoFwAAAAAAAAAUAAAAAAA4hkgAYJcVAL4AwACAdRQAePoBAAUAAAD8+BIAgHUUAOT5EgAg6ZF8YACSfP////9dAJJ8UhSSfIMUknwg4Zh8YBSSfOBoFwA4AAAA/GgXAADQ/X/M+RIAGAIAACj6EgAg6ZF8aBSSfP////9gFJJ8AAAUAPITknz8aBcA6GgXAAAAAAB4ZhcAaOEBAAcAAAB0+RIAAAAAAHT6EgAg6ZF8YACSfP////9dAJJ8++6AfAAAFAAAAAAAB++AfFavOn4AAEAAAQAAAADQ/X8BAAAAAAAAAEQBAADoaBcAYJcVAAAAAABE+hIAQQBSALD/EgDYmoN8EO+AfP////8H74B8XFdDAOhoFwBWrzp+JAAAACAAAADlEXUxzErNAWE1a/HlSs0BYTVr8eVKzQEAAAAAMAIAANoJDgChJQQwAAAAAEh2FAB1bF9hcnJvdyABAAByZQB0AAAUANj4EgD4+hIANPsSACDpkXzgAZJ8/////9sBknx/moB8AAAUAAgAFACQmoB8Vq86fgAAAAAAAAAAAAAAAAAAAABE2kQApHYUAOxeFwCodhQAmIZIAP////9IdhQAntpEAKR2FABz0EQASHYUACH5BAAAAAAALAAAAAALACMAQAiQAEcICECwYEEACBEOKGAwoUOEEwQ8BMBhIEGFCwweRGhR40QAJCx+BIBgoMMHHS9mSNkwoYALHh8OOLBxogKTIwFItCnSIYaUCWdqDABgQIKhBFEMEIGUaFGaQxM6YOkUIQSWDzcAnSiAwMWPAwxUnbgwZ9GcAxqMFAqW4ViOHWpyZNASQMSoACJQJSphb4CAADs=) no-repeat 100% 0}.rup-wizard_stepDesc.visited a{text-decoration:underline;cursor:default;background:#ebebeb url(data:image/gif;base64,R0lGODlhDQAjAKECAGaZzP///wAAAAAAACH5BAEKAAIALAAAAAANACMAAAJCDI55YqrsHoxLzGhtc/nKvCWdxo1hZX4pMoJiS6JwA3dG7eKgrvG3/qvRhKzZqxUyHl0qT5GpOj2lRWqVsrAitIgCADs=) no-repeat 100% 0}.rup-wizard_stepDesc.disabled a{color:#d3d3d3;text-decoration:none;cursor:default}.rup-wizard_lastStepDesc a{background:#ebebeb url(data:image/gif;base64,R0lGODlhCwAjAPcAAP////7+/v39/fz8/Pv7+/r6+vn5+fj4+Pb29vX19fT09PPz8/Hx8fDw8O/v7+7u7uzs7Ovr6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFABIdhQABPQSAAAAAABI9hIAIOmRfCgCknz/////IgKSfJsBknzbAZJ8AAAAAAAAAAB4+RIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ2lmAAIAAADBGpJ88PUSACx5AAAAAO48IwOSfBTCAQAseQAAAADuPKgA7jwAAAAAAAAAAAAQ7jzw9RIAyPQSAAAA7jyU9RIAIOmRfMgaknz/////wRqSfHcdknwAAO48IDHuPIT1EgAAAAAAAAAAAD8akny3HZJ8AADuPBT1EgAAAAAAAAAAAHz1EgCk9RIA1R2SfBTCAQAgMe48hPUSAAAAAAB+oIB8AADuPCAx7jyE9RIAlaCAfPD1EgAseQAAAAAAABAAAAASAAAA9PUSAP4AAAC49RIAxNQ6fvxtSAD+AAAA0PUSAAKn7zwkAAAAAAAAAP4AAAAAAAAA5PUSAD3JOn4AAAAAAqfvPBIAAAD09RIAEgAAAAAAAACyAkgACm5IAG9PFAD4ThQAy7NCAAAA7jwCp+88JAAAAP8AAADhtEIALHkAAPxtSAD/AAAAb08UAG32EgB/3EEALHkAAPhOFAAAAAAAAAAAAEh2FAB3AAAAdwAAACABAAAdAAAAAAAUADj0EgBibXA7lPYSACDpkXzgAZJ8/////9sBknx/moB8AAAUAAgAFACQmoB8+E4UAAAAAAAAAAAAAAAAAAAAAABE2kQAnHYUAOxeFwCgdhQA0PkSAP////9IdhQAntpEAJx2FABz0EQASHYUACwAAAAACwAjAAAIeAALABhIsGCEgggBHExIMMJChg4fMFToMECAhA4dQsx4AGPGhw0/MkD4UaPAgSUrhixJYGVJlx8ToEypkSJNBzZp5iz5IABNjQN+NpiZEoBAmjKJfjRY0gDTpU8dCiD58WJUi1Qj4PR48CTTBRM1dsSIYKJCswACAgA7) no-repeat 100% 0}.rup-wizard_lastStepDesc.current a{color:#fff;text-decoration:none;cursor:default;background:#69c url(data:image/gif;base64,R0lGODlhCwAjAPcAAGaZzOvr6////+Dq9ezs7PX19fDw8Pr6+nKYvvPz84+itvj4+O7u7vz8/NPc5tTe56KtvH+bt5inuGuYxbO9yLS9yMjR2+/v78rS3Iietfn5+XiZuqu1wfHx8b/H0d3p9Kq0wfv7+/T09Kq5yL/H0Iikw/DZxfb29mqWwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAE+xIAWH13ADT5EgAmizl+NQSSfD4EknxomRUAJAACACz6EgACAAAAuUKSfADg/X8AEJF8KPkSAFj5EgAAAAAAuACSfGT5EgAAAAAAuACSfOBoFwAw+hIAQQCSfNgHFABdAJJ8/GgXAOhoFwAAAAAAAAAUAAAAAAA4hkgAYJcVAL4AwACAdRQAePoBAAUAAAD8+BIAgHUUAOT5EgAg6ZF8YACSfP////9dAJJ8UhSSfIMUknwg4Zh8YBSSfOBoFwA4AAAA/GgXAADQ/X/M+RIAGAIAACj6EgAg6ZF8aBSSfP////9gFJJ8AAAUAPITknz8aBcA6GgXAAAAAAB4ZhcAaOEBAAcAAAB0+RIAAAAAAHT6EgAg6ZF8YACSfP////9dAJJ8++6AfAAAFAAAAAAAB++AfFavOn4AAEAAAQAAAADQ/X8BAAAAAAAAAEQBAADoaBcAYJcVAAAAAABE+hIAQQBSALD/EgDYmoN8EO+AfP////8H74B8XFdDAOhoFwBWrzp+JAAAACAAAADlEXUxzErNAWE1a/HlSs0BYTVr8eVKzQEAAAAAMAIAANoJDgChJQQwAAAAAEh2FAB1bF9hcnJvdyABAAByZQB0AAAUANj4EgD4+hIANPsSACDpkXzgAZJ8/////9sBknx/moB8AAAUAAgAFACQmoB8Vq86fgAAAAAAAAAAAAAAAAAAAABE2kQApHYUAOxeFwCodhQAmIZIAP////9IdhQAntpEAKR2FABz0EQASHYUACwAAAAACwAjAAAIewBHCBhIsCCKASIKFgSQQeFCAAMOOBQAoOJEihUdTKxo0SFHABA8fhyg8COADSVNkiRosuPAlgBIsIS5EiYABS9tDihgE8AEjDp7AgDackADmwhyFpUIE6fSkTM/cnj4MSVHDFZdRgXwQKTPjRUjioxwMWxZCRcprpwYEAA7) no-repeat 100% 0}.rup-wizard_prev{margin:5px 5px 5px 17px;text-decoration:none;color:#666565;padding:7px 7px 7px 37px;float:left;cursor:pointer;background:#ebebeb url(images/prev.png) no-repeat 0;border:1px solid #bdbdbd;text-align:center;width:55px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.rup-wizard_prev:HOVER{color:#666565;text-decoration:underline}.rup-wizard_next{margin:5px 17px 5px 5px;text-decoration:none;color:#666565;padding:7px 37px 7px 7px;float:right;cursor:pointer;background:#ebebeb url(images/next.png) no-repeat 100%;border:1px solid #bdbdbd;text-align:center;width:55px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.rup-wizard_next:HOVER{color:#666565;background:#fff url(images/next.png) no-repeat 100%;text-decoration:underline}.rup-wizard_submitButton{margin:5px 17px 5px 5px;text-decoration:none;color:#666565;padding:11px 37px 7px 7px;float:right;cursor:pointer;background:#ebebeb url(images/submit.png) no-repeat 100%;border:1px solid #bdbdbd;text-align:center;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.rup-wizard_submitButton:HOVER{color:#666565;background:#fff url(images/submit.png) no-repeat 100%;text-decoration:underline}.rup-wizard_tabLevel-0{margin-left:1em;color:green}.rup-wizard_tabLevel-1{margin-left:2em;color:red}.rup-wizard_tabLevel-2{margin-left:2.5em;color:#00f}.rup-wizard_tabContainerLevel-0{margin-left:1em}.rup-wizard_tabContainerLevel-1{margin-left:2em}.rup-wizard_tabContainerLevel-2{margin-left:2.5em}.rup_tree{visibility:hidden}.jstree-rup-default ins,.jstree-rup-default li{background-image:url(images/d.png);background-repeat:no-repeat;background-color:transparent}.jstree-rup-default li{background-position:-93px 0;background-repeat:repeat-y}.jstree-rup-default li.jstree-last{background:transparent}.jstree-rup-default .jstree-open>ins{background-position:-72px 0}.jstree-rup-default .jstree-closed>ins{background-position:-54px 0}.jstree-rup-default .jstree-leaf>ins{background-position:-37px 0}.jstree-rup-default .jstree-hovered{background:#e7f4f9;border:1px solid #e7f4f9;padding:0 2px 0 1px}.jstree-rup-default .jstree-clicked{background:navy;border:1px solid navy;padding:0 2px 0 1px;color:#fff}.jstree-rup-default a .jstree-icon{background-position:-56px -19px}.jstree-rup-default .jstree-open>a .jstree-icon{background-position:-56px -36px}.jstree-rup-default a.jstree-loading .jstree-icon{background:url(images/throbber.gif) 50% no-repeat!important}.jstree-rup-default.jstree-focused{background:#fff}.jstree-rup-default ul:first-child>li.jstree-leaf:first-child>ins{background-position:-72px -36px}.jstree-rup-default ul:first-child>li.jstree-open:first-child>ins{background-position:-72px -54px}.jstree-rup-default ul:first-child>li.jstree-closed:first-child>ins{background-position:-54px -54px}.jstree-rup-default .jstree-no-dots .jstree-leaf>ins,.jstree-rup-default .jstree-no-dots li,.jstree-rup-default ul:first-child.jstree-no-dots>li.jstree-leaf:first-child>ins{background:transparent}.jstree-rup-default .jstree-no-dots .jstree-open>ins,.jstree-rup-default ul:first-child.jstree-no-dots>li.jstree-open:first-child>ins{background-position:-18px 0}.jstree-rup-default .jstree-no-dots .jstree-closed>ins,.jstree-rup-default ul:first-child.jstree-no-dots>li.jstree-closed:first-child>ins{background-position:0 0}.jstree-rup-default .jstree-no-icons a .jstree-icon{display:none}.jstree-rup-default .jstree-search{font-style:italic}.jstree-rup-default .jstree-no-icons .jstree-checkbox{display:inline-block}.jstree-rup-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-rup-default .jstree-checked>a>.jstree-checkbox{background-position:-38px -19px}.jstree-rup-default .jstree-unchecked>a>.jstree-checkbox{background-position:-2px -19px}.jstree-rup-default .jstree-undetermined>a>.jstree-checkbox{background-position:-20px -19px}.jstree-rup-default .jstree-checked>a>.jstree-checkbox:hover{background-position:-38px -37px}.jstree-rup-default .jstree-unchecked>a>.jstree-checkbox:hover{background-position:-2px -37px}.jstree-rup-default .jstree-undetermined>a>.jstree-checkbox:hover{background-position:-20px -37px}#vakata-dragged.jstree-rup-default ins{background:transparent!important}#vakata-dragged.jstree-rup-default .jstree-ok{background:url(images/d.png) -2px -53px no-repeat!important}#vakata-dragged.jstree-rup-default .jstree-invalid{background:url(images/d.png) -18px -53px no-repeat!important}#jstree-marker.jstree-rup-default{background:url(images/d.png) -41px -57px no-repeat!important;text-indent:-100px}.jstree-rup-default a.jstree-search{font-weight:700}.jstree-rup-default .jstree-locked a{color:silver;cursor:default}#vakata-contextmenu.jstree-rup-default-context,#vakata-contextmenu.jstree-rup-default-context li ul{background:#f0f0f0;border:1px solid #979797;-moz-box-shadow:1px 1px 2px #999;-webkit-box-shadow:1px 1px 2px #999;box-shadow:1px 1px 2px #999}#vakata-contextmenu.jstree-rup-default-context a{color:#000}#vakata-contextmenu.jstree-rup-default-context .vakata-hover>a,#vakata-contextmenu.jstree-rup-default-context a:hover{padding:0 5px;background:#e8eff7;border:1px solid #aecff7;color:#000;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}#vakata-contextmenu.jstree-rup-default-context li.jstree-contextmenu-disabled a,#vakata-contextmenu.jstree-rup-default-context li.jstree-contextmenu-disabled a:hover{color:silver;background:transparent;border:0;padding:1px 4px}#vakata-contextmenu.jstree-rup-default-context li.vakata-separator{background:#fff;border-top:1px solid #e0e0e0;margin:0}#vakata-contextmenu.jstree-rup-default-context li ul{margin-left:-4px}#jstree-marker.jstree-rup-default,#vakata-dragged.jstree-rup-default .jstree-invalid,#vakata-dragged.jstree-rup-default .jstree-ok,.jstree-rup-default ins,.jstree-rup-default li{_background-image:url(images/d.gif)}.jstree-rup-default .jstree-open ins{_background-position:-72px 0}.jstree-rup-default .jstree-closed ins{_background-position:-54px 0}.jstree-rup-default .jstree-leaf ins{_background-position:-36px 0}.jstree-rup-default .jstree-open a ins.jstree-icon{_background-position:-56px -36px}.jstree-rup-default .jstree-closed a ins.jstree-icon,.jstree-rup-default .jstree-leaf a ins.jstree-icon{_background-position:-56px -19px}#vakata-contextmenu.jstree-rup-default-context ins{_display:none}#vakata-contextmenu.jstree-rup-default-context li{_zoom:1}.jstree-rup-default .jstree-undetermined a .jstree-checkbox{_background-position:-20px -19px}.jstree-rup-default .jstree-checked a .jstree-checkbox{_background-position:-38px -19px}.jstree-rup-default .jstree-unchecked a .jstree-checkbox{_background-position:-2px -19px}[class*=cal-cell]{float:left;margin-left:0;min-height:1px}.cal-row-fluid{width:100%}.cal-row-fluid:after,.cal-row-fluid:before{display:table;content:"";line-height:0}.cal-row-fluid:after{clear:both}.cal-row-fluid [class*=cal-cell]{display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:0}.cal-row-fluid .controls-row [class*=cal-cell]+[class*=cal-cell],.cal-row-fluid [class*=cal-cell]:first-child{margin-left:0}.cal-row-fluid .cal-cell7{width:100%}.cal-row-fluid .cal-cell6{width:85.71428571428571%}.cal-row-fluid .cal-cell5{width:71.42857142857142%}.cal-row-fluid .cal-cell4{width:57.14285714285714%}.cal-row-fluid .cal-cell3{width:42.857142857142854%}.cal-row-fluid .cal-cell2{width:28.57142857142857%}.cal-row-fluid .cal-offset7,.cal-row-fluid .cal-offset7:first-child,.cal-week-box .cal-offset7{margin-left:100%}.cal-row-fluid .cal-offset6,.cal-row-fluid .cal-offset6:first-child,.cal-week-box .cal-offset6{margin-left:85.71428571428571%}.cal-row-fluid .cal-offset5,.cal-row-fluid .cal-offset5:first-child,.cal-week-box .cal-offset5{margin-left:71.42857142857142%}.cal-row-fluid .cal-offset4,.cal-row-fluid .cal-offset4:first-child,.cal-week-box .cal-offset4{margin-left:57.14285714285714%}.cal-row-fluid .cal-offset3,.cal-row-fluid .cal-offset3:first-child,.cal-week-box .cal-offset3{margin-left:42.857142857142854%}.cal-row-fluid .cal-offset2,.cal-row-fluid .cal-offset2:first-child,.cal-week-box .cal-offset2{margin-left:28.57142857142857%}.cal-row-fluid .cal-offset1,.cal-row-fluid .cal-offset1:first-child,.cal-week-box .cal-offset1{margin-left:14.285714285714285%}.cal-row-fluid .cal-cell1{width:14.285714285714285%}.cal-row-fluid [class*=cal-cell].hide,[class*=cal-cell].hide{display:none}.cal-row-fluid [class*=cal-cell].pull-right,[class*=cal-cell].pull-right{float:right}.cal-row-head [class*=cal-cell],.cal-row-head [class*=cal-cell]:first-child{min-height:auto;overflow:hidden;text-overflow:ellipsis}.cal-events-num{margin-top:20px}.cal-month-day{position:relative;display:block;width:100%}#cal-week-box{width:70px;left:-71px;top:-1px;padding:8px 5px}#cal-day-tick,#cal-week-box{position:absolute;cursor:pointer}#cal-day-tick{right:50%;bottom:-21px;padding:0 5px;z-index:5;width:26px;margin-right:-17px}.cal-year-box #cal-day-tick{margin-right:-7px}#cal-slide-tick{position:absolute;z-index:1;margin-left:-7px;top:-1.25rem;font:normal normal normal 14px/1 Material Design Icons;font-size:2.5rem;color:#fff;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#cal-slide-tick:before{content:"\F72D"}#cal-slide-tick.tick-month1{left:12.5%}#cal-slide-tick.tick-month2{left:37.5%}#cal-slide-tick.tick-month3{left:62.5%}#cal-slide-tick.tick-month4{left:87.5%}#cal-slide-tick.tick-day1{left:7.14285714285715%}#cal-slide-tick.tick-day2{left:21.42857142857143%}#cal-slide-tick.tick-day3{left:35.71428571428572%}#cal-slide-tick.tick-day4{left:50%}#cal-slide-tick.tick-day5{left:64.2857142857143%}#cal-slide-tick.tick-day6{left:78.57142857142858%}#cal-slide-tick.tick-day7{left:92.85714285714285%}.events-list{position:absolute;bottom:0;left:0;overflow:hidden}#cal-slide-content ul.unstyled{margin-bottom:0}.cal-week-box{position:relative}.cal-week-box [data-event-class]{white-space:nowrap;height:30px;margin:1px;line-height:30px;text-overflow:ellipsis;overflow:hidden;padding-left:10px}.cal-week-box .cal-column{position:absolute;height:100%;z-index:-1}.cal-week-box .arrow-after,.cal-week-box .arrow-before{position:relative}.cal-week-box .arrow-after:after{content:"";position:absolute;top:0;width:0;height:0;right:0;border-top:15px solid #fff;border-left:8px solid;border-bottom:15px solid #fff}.cal-week-box .arrow-before:before{content:"";position:absolute;top:0;width:0;height:0;left:1px;border-top:15px solid transparent;border-left:8px solid #fff;border-bottom:15px solid transparent}#cal-day-box .cal-day-hour-part{height:30px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border-bottom:thin dashed #e1e1e1}#cal-day-box .cal-day-hour .day-highlight{height:30px}#cal-day-box .cal-hours{font-weight:bolder}#cal-day-box .cal-day-hour:nth-child(odd){background-color:#fafafa}#cal-day-box #cal-day-panel{position:relative;padding-left:60px}#cal-day-box #cal-day-panel-hour{position:absolute;width:100%;margin-left:-60px}#cal-day-box .day-event{position:relative;max-width:200px;overflow:hidden}#cal-day-box .day-highlight{line-height:30px;padding-left:8px;padding-right:8px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border:1px solid #c3c3c3;margin:1px;overflow:hidden;text-overflow:ellipsis}#cal-day-box .day-highlight.dh-event-important{border:1px solid #ad2121}#cal-day-box .day-highlight.dh-event-warning{border:1px solid #e3bc08}#cal-day-box .day-highlight.dh-event-info{border:1px solid #1e90ff}#cal-day-box .day-highlight.dh-event-inverse{border:1px solid #1b1b1b}#cal-day-box .day-highlight.dh-event-success{border:1px solid #006400}#cal-day-box .day-highlight.dh-event-special{background-color:#ffe6ff;border:1px solid purple}.event{display:inline-block;width:12px;height:12px;margin-right:2px;margin-bottom:2px;-webkit-box-shadow:inset 0 0 5px 0 rgba(0,0,0,.4);box-shadow:inset 0 0 5px 0 rgba(0,0,0,.4);border-radius:8px;border:1px solid transparent}.event,.event-block{background-color:#c3c3c3}.event-block{display:block;width:20px;height:100%}.cal-event-list .event.pull-left{margin-top:3px}.event-important{background-color:#ad2121}.event-info{background-color:#1e90ff}.event-warning{background-color:#e3bc08}.event-inverse{background-color:#1b1b1b}.event-success{background-color:#006400}.event-special{background-color:purple}.day-highlight,.day-highlight:hover{background-color:#ddd}.day-highlight.dh-event-important,.day-highlight.dh-event-important:hover{background-color:#fae3e3}.day-highlight.dh-event-warning,.day-highlight.dh-event-warning:hover{background-color:#fdf1ba}.day-highlight.dh-event-info,.day-highlight.dh-event-info:hover{background-color:#d1e8ff}.day-highlight.dh-event-inverse,.day-highlight.dh-event-inverse:hover{background-color:#c1c1c1}.day-highlight.dh-event-success,.day-highlight.dh-event-success:hover{background-color:#caffca}.day-highlight.dh-event-special,.day-highlight.dh-event-special:hover{background-color:#ffe6ff}.cal-row-head [class*=cal-cell],.cal-row-head [class*=cal-cell]:first-child{font-weight:bolder;text-align:center;border:0 solid;padding:5px 0}.cal-row-head [class*=cal-cell] small{font-weight:400}.cal-row-fluid:hover,.cal-year-box .row-fluid:hover{background-color:#fafafa}.cal-month-day{height:100px}[class*=cal-cell]:hover{background-color:#ededed}.cal-month-box [class*=cal-cell],.cal-year-box [class*=span]{min-height:100px;border-right:1px solid #e1e1e1;position:relative}.cal-year-box [class*=span]{min-height:10rem}.cal-month-box .cal-row-fluid [class*=cal-cell]:last-child,.cal-year-box .row-fluid [class*=span]:last-child{border-right:0}.cal-month-box .cal-row-fluid,.cal-year-box .row-fluid{border-bottom:1px solid #e1e1e1;margin-left:0;margin-right:0}.cal-month-box .cal-row-fluid:last-child,.cal-year-box .row-fluid:last-child{border-bottom:0}.cal-month-box,.cal-week-box,.cal-year-box{border:1px solid #e1e1e1;border-radius:2px}span[data-cal-date]{font-size:2vh;font-weight:400;opacity:.5;cursor:pointer;transition:all .3s ease-in-out;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;-ms-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;margin-top:1vh;margin-right:1vh}span[data-cal-date]:hover{opacity:1}.cal-day-outmonth span[data-cal-date]{opacity:.1;cursor:default}.cal-month-box .cal-day-today{background-color:#e8fde7}.cal-month-box .cal-day-today span[data-cal-date]{color:#006400;font-size:2.5vh;font-weight:500;width:4.5vh;height:4.5vh;line-height:4.5vh}.cal-day-today span[data-cal-date]{color:#006400}.cal-day-holiday span[data-cal-date]{color:purple}.cal-day-weekend span[data-cal-date]{color:#8b0000}#cal-week-box{border:1px solid #e1e1e1;border-right:0;border-radius:5px 0 0 5px;background-color:#fafafa;text-align:right}#cal-day-tick{border:1px solid #e1e1e1;border-top:0 solid;border-radius:0 0 5px 5px;background-color:#ededed;text-align:center}#cal-slide-box{margin-top:-1px}#cal-slide-content{padding:2vh;color:#fff;-webkit-box-shadow:inset 0 0 15px 0 rgba(0,0,0,.5);box-shadow:inset 0 0 15px 0 rgba(0,0,0,.5)}#cal-slide-content:hover{background-color:transparent}#cal-slide-content a.event-item{color:#fff;font-weight:400;line-height:22px}.events-list{max-height:47px}.cal-column{border-left:1px solid #e1e1e1}a.cal-event-week{text-decoration:none;color:#151515}.badge-important{background-color:#b94a48;color:#fff}.icon-chevron-down{display:inline-block;font:normal normal normal 14px/1 Material Design Icons;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased}.icon-chevron-down:before{content:"\f078"}#cal-day-tick{padding:0 4px;margin-top:-1px;border-top:1px solid transparent}.cal-month-day span[data-cal-date]{position:absolute;z-index:1;color:#000;background-color:#fff;border-radius:3vh;width:3vh;height:3vh;line-height:3vh;top:0;right:0;text-align:center;opacity:.75}.events-list{max-height:100px;padding-left:5px}.events-list::-webkit-scrollbar-track{box-shadow:inset 0 0 6px rgba(0,0,0,.3);-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#f1f1f1}.events-list::-webkit-scrollbar{width:10px;background-color:#f1f1f1}.events-list::-webkit-scrollbar-thumb{background-color:#c1c1c1;border:2px solid #c1c1c1}.event:hover{border-color:#00f;opacity:.5}.cal-day-outmonth span[data-cal-date]{opacity:.2}.cal-month-day.cal-day-outmonth .events-list{opacity:.1}.tooltip-inner{text-align:left!important}.cal-event-list .event.pull-left{margin-top:8px}.event-item span{width:90%;padding:.25rem 1.25rem}.event-item span:hover{background-color:hsla(0,0%,64.7%,.2901960784313726)}#cal-slide-content a.event-item{color:hsla(0,0%,100%,.9215686274509803);font-size:1.2rem}#cal-slide-content ul{position:relative;z-index:1}#cal-slide-box{position:relative;overflow:hidden}#cal-slide-content{background-image:none}#cal-slide-content,#cal-slide-content:hover{background-color:#007984}#cal-slide-content:after,#cal-slide-content:before{content:"";position:absolute;left:50%;min-width:300vw;min-height:300vw;background-color:#00838f;animation-name:rotate;animation-iteration-count:infinite;animation-timing-function:linear}#cal-slide-content:before{bottom:50%;border-radius:45%;animation-duration:30s}#cal-slide-content:after{bottom:45%;opacity:.5;border-radius:47%;animation-duration:30s}@keyframes rotate{0%{transform:translate(-50%) rotate(0deg)}50%{transform:translate(-50%,-2%) rotate(180deg)}to{transform:translate(-50%) rotate(1turn)}}#cal-slide-content a.event-item>span{display:inline-block}.calendar .cal-day-today{background-color:#aff3ac}.calendar .cal-event-list li{margin-top:.2rem}.calendar .cal-month-day:hover{text-decoration:none}.cal-month-day.cal-day-inmonth.cal-day-weekend{background-color:#fff2f2}.calendar .cal-event-list .event,.calendar .events-list .event{color:#000;padding:0;width:3vh;height:3vh;border-radius:1.5vh;font-family:Material Design Icons;font:normal normal normal 2vh Material Design Icons;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none}.calendar .cal-event-list .event:before,.calendar .events-list .event:before{position:absolute}.calendar .cal-event-list .event:hover,.calendar .events-list .event:hover{text-decoration:none}.calendar .cal-event-list .completada:before,.calendar .events-list .completada:before{content:"\F12C";padding:2px!important}.calendar .cal-event-list .fechaProxima:before,.calendar .events-list .fechaProxima:before{content:"\F205";padding:3px 7px 1px!important}.calendar .cal-event-list .warning:before,.calendar .events-list .warning:before{content:"\F205";padding:3px 8px!important}.calendar .cal-event-list .obra,.calendar .events-list .obra{background-color:#ff9600}.calendar .cal-event-list .vertidoPDI,.calendar .events-list .vertidoPDI{background-color:#fff700}.calendar .cal-event-list .vertido,.calendar .events-list .vertido{background-color:#000;color:#fff}.calendar .cal-event-list .vertido.muestreo,.calendar .events-list .vertido.muestreo{-webkit-box-shadow:inset 0 0 0 .5vh #ff3434;box-shadow:inset 0 0 0 .5vh #ff3434}.calendar .cal-event-list .vertido.vigilancia,.calendar .events-list .vertido.vigilancia{-webkit-box-shadow:inset 0 0 0 .5vh #000;box-shadow:inset 0 0 0 .5vh #000}.calendar .cal-event-list .concesion,.calendar .events-list .concesion{background-color:#009fd9}.calendar .cal-event-list .finalizada,.calendar .events-list .finalizada{background-color:#66bb6a;color:#fff}.calendar .cal-event-list .pdteAsignar,.calendar .events-list .pdteAsignar{background-color:#eceeef}.legend{border-radius:20px;width:1.3rem;height:1.3rem;margin-top:.25rem}.bgNegro,.bgNegroyRojo{background:#000!important;color:#fff!important}.bgNegroyRojo{border:4px solid #ff3434!important}.bgVerde{background:green!important}.bgRojo,.bgVerde{border:1px solid #288e28!important;color:#fff!important}.bgRojo{background:red!important}.bgAmarillo{background:#fff700!important;color:#000!important}.bgNaranja{background:#ff9600!important}.bgAzul,.bgNaranja{color:#fff!important}.bgAzul{background:#009fd9!important}.bgCheck{background:#fff;border:4px solid #fff!important}.bgFucsia{background:orchid!important}.bgFucsia,.bgMediumblue{border:1px solid #288e28!important;color:#fff!important}.bgMediumblue{background:#0000cd!important}.rup_list .list-item{border:1px solid transparent;border-radius:0;box-shadow:1px 1px 11px #ddd;margin:1rem 0;padding:.75rem;position:relative;width:auto}.rup_list .list-item:hover{background-color:#a6acb1;cursor:pointer}.rup_list .rup_list-item-selected{background-color:#1472a4;color:#fff}.rup_list .rup_list-item-selected:hover{background-color:#1472a4}.rup_list-sticky{position:fixed;top:0;background-color:#fff;z-index:80;width:calc(100% - 102px)}@media screen and (max-width:768px){.rup_list-sticky{width:calc(100% - 78px)}}.rup_list-header{margin-bottom:.5rem}.rup_list-footer{margin-top:.5rem}.rup_list-footer,.rup_list-header{border:1px solid #bbb;margin-left:0;margin-right:0;padding:.75rem 0}.rup-dropdown-btn-group .rup_list-footer .rup-dropdown-button,.rup-dropdown-btn-group .rup_list-header .rup-dropdown-button,.rup-wizard .rup_list-footer .rup-wizard_submitButton,.rup-wizard .rup_list-footer a.rup-wizard_next,.rup-wizard .rup_list-footer a.rup-wizard_prev,.rup-wizard .rup_list-header .rup-wizard_submitButton,.rup-wizard .rup_list-header a.rup-wizard_next,.rup-wizard .rup_list-header a.rup-wizard_prev,.rup_list-footer .rup-dropdown-btn-group .rup-dropdown-button,.rup_list-footer .rup-wizard .rup-wizard_submitButton,.rup_list-footer .rup-wizard a.rup-wizard_next,.rup_list-footer .rup-wizard a.rup-wizard_prev,.rup_list-footer .ui-button.rup-button,.rup_list-footer a.rup-toolbar_menuButton.ui-button,.rup_list-footer button,.rup_list-header .rup-dropdown-btn-group .rup-dropdown-button,.rup_list-header .rup-wizard .rup-wizard_submitButton,.rup_list-header .rup-wizard a.rup-wizard_next,.rup_list-header .rup-wizard a.rup-wizard_prev,.rup_list-header .ui-button.rup-button,.rup_list-header a.rup-toolbar_menuButton.ui-button,.rup_list-header button{height:100%}.rup_list-footer nav,.rup_list-header nav{float:right}.rup_list-footer nav .page-link,.rup_list-header nav .page-link{cursor:pointer;line-height:3.5rem}.rup_list-footer .rup_list-footer-rowNum+span a,.rup_list-footer .rup_list-footer-sidx+span a,.rup_list-footer .rup_list-header-rowNum+span a,.rup_list-footer .rup_list-header-sidx+span a,.rup_list-header .rup_list-footer-rowNum+span a,.rup_list-header .rup_list-footer-sidx+span a,.rup_list-header .rup_list-header-rowNum+span a,.rup_list-header .rup_list-header-sidx+span a{width:100%!important}.rup_list-overlay{height:100%;left:0;position:absolute;width:100%;z-index:10}.rup_list-overlay .rup_list-overlay-layer{filter:alpha(opacity=0);opacity:1;z-index:11}.rup_list-overlay .rup_list-overlay-loader{animation:spin 2s linear infinite;border-radius:50%;border:7px solid transparent;border-top-color:#69a3d6;display:block;height:15vh;left:50%;margin:-5% 0 0 -8vh;max-height:20rem;max-width:20rem;position:relative;top:50%;width:15vh;z-index:12}.rup_list-overlay .rup_list-overlay-loader:before{animation:spin 3s linear infinite;border-radius:50%;border:7px solid transparent;border-top-color:#337ab7;bottom:5px;content:"";left:5px;position:absolute;right:5px;top:5px}.rup_list-overlay .rup_list-overlay-loader:after{animation:spin 1.5s linear infinite;border-radius:50%;border:7px solid transparent;border-top-color:#204d71;bottom:15px;content:"";left:15px;position:absolute;right:15px;top:15px}.rup_list-mord-dialog{display:flex;flex-direction:column}.rup_list-mord-dialog .rup_list-mord-orderfields{display:flex}.rup_list-mord-dialog .rup_list-mord-orderfields .rup_list-mord-field{background-color:#e9ecef;margin-right:.5rem;padding:0 0 0 8px}.rup_list-mord-dialog .rup_list-mord-orderfields .rup_list-mord-field:hover{background-color:#ced1d4}.rup_list-mord-dialog .rup_list-mord-orderfields .rup_list-mord-field i{background-color:#1472a4;border-radius:0 4px 4px 0;color:#fff;font-size:14px;margin:0 -2px 0 5px;padding:5px 1px}.rup_list-mord-dialog .rup_list-mord-ordersort{display:flex;flex-direction:column}.rup_list-mord-dialog .rup_list-ord-line{display:flex}.rup-dropdown-btn-group .rup_list-mord-dialog .rup_list-ord-line .rup-dropdown-button,.rup-wizard .rup_list-mord-dialog .rup_list-ord-line .rup-wizard_submitButton,.rup-wizard .rup_list-mord-dialog .rup_list-ord-line a.rup-wizard_next,.rup-wizard .rup_list-mord-dialog .rup_list-ord-line a.rup-wizard_prev,.rup_list-mord-dialog .rup_list-ord-line .rup-dropdown-btn-group .rup-dropdown-button,.rup_list-mord-dialog .rup_list-ord-line .rup-wizard .rup-wizard_submitButton,.rup_list-mord-dialog .rup_list-ord-line .rup-wizard a.rup-wizard_next,.rup_list-mord-dialog .rup_list-ord-line .rup-wizard a.rup-wizard_prev,.rup_list-mord-dialog .rup_list-ord-line .ui-button.rup-button,.rup_list-mord-dialog .rup_list-ord-line a.rup-toolbar_menuButton.ui-button,.rup_list-mord-dialog .rup_list-ord-line button{max-width:3rem;padding:.5rem}.asc:before{content:"\F4BC"}.asc:before,.desc:before{display:inline-block;font:normal normal normal 24px/1 Material Design Icons;font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.desc:before{content:"\F4BD"}.ui-widget{font-family:Arial,Helvetica,sans-serif}.ui-widget,.ui-widget .ui-widget{font-size:1em}.rup-dropdown-btn-group .ui-widget .rup-dropdown-button,.rup-wizard .ui-widget .rup-wizard_submitButton,.rup-wizard .ui-widget a.rup-wizard_next,.rup-wizard .ui-widget a.rup-wizard_prev,.ui-widget .rup-dropdown-btn-group .rup-dropdown-button,.ui-widget .rup-wizard .rup-wizard_submitButton,.ui-widget .rup-wizard a.rup-wizard_next,.ui-widget .rup-wizard a.rup-wizard_prev,.ui-widget .ui-button.rup-button,.ui-widget a.rup-toolbar_menuButton.ui-button,.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:700}.ui-widget-header a{color:#333}.ui-button,.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,html .ui-button.ui-state-disabled:active,html .ui-button.ui-state-disabled:hover{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:400;color:#454545}.ui-button,.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button{color:#454545;text-decoration:none}.ui-button:focus,.ui-button:hover,.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{border:1px solid #ccc;background:#ededed;font-weight:400;color:#2b2b2b}.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,a.ui-button:focus,a.ui-button:hover{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px #5e9ed6}.ui-button.ui-state-active:hover,.ui-button:active,.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active{border:1px solid #003eff;background:#007fff;font-weight:400;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error-text,.ui-state-error a,.ui-widget-content .ui-state-error-text,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error-text,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;-ms-filter:"alpha(opacity=70)";font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;-ms-filter:"alpha(opacity=35)";background-image:none}.ui-state-disabled .ui-icon{-ms-filter:"alpha(opacity=35)"}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon,.ui-widget-header .ui-icon{background-image:url(images/ui-icons_444444_256x240.png)}.ui-button:focus .ui-icon,.ui-button:hover .ui-icon,.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(images/ui-icons_555555_256x240.png)}.ui-button:active .ui-icon,.ui-state-active .ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}.ui-button .ui-state-highlight.ui-icon,.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_777620_256x240.png)}.ui-state-error-text .ui-icon,.ui-state-error .ui-icon{background-image:url(images/ui-icons_cc0000_256x240.png)}.ui-button .ui-icon{background-image:url(images/ui-icons_777777_256x240.png)}.ui-icon-blank.ui-icon-blank.ui-icon-blank{background-image:none}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-first,.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:3px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;-ms-filter:"alpha(opacity=30)"}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666}.bubble,.navbar-nav>.nav-item>.dropdown-menu,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu{margin-top:10px;background:#fff;border:1px solid #ccc}.bubble:after,.bubble:before,.navbar-nav>.nav-item>.dropdown-menu:after,.navbar-nav>.nav-item>.dropdown-menu:before,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu:after,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu:before{border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.bubble-top{margin-top:10px}.bubble-top:after,.bubble-top:before{bottom:100%;left:50%}.bubble-top-left:after,.bubble-top-left:before,.navbar-nav>.nav-item>.dropdown-menu:after,.navbar-nav>.nav-item>.dropdown-menu:before,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu:after,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu:before{bottom:100%;left:20%}.bubble-top-right:after,.bubble-top-right:before{bottom:100%;left:75%}.bubble-bottom{margin-top:10px}.bubble-bottom:after,.bubble-top:before{bottom:100%;left:50%}.bubble:after,.navbar-nav>.nav-item>.dropdown-menu:after,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu:after{border-color:transparent transparent #fff;border-width:10px;margin-left:-10px}.bubble:before,.navbar-nav>.nav-item>.dropdown-menu:before,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu:before{border-color:transparent transparent #ccc;border-width:11px;margin-left:-11px}.rup-callout,.rup-upload{padding:1.25rem;margin-top:1.25rem;margin-bottom:1.25rem;border:1px solid #eee;border-left-width:.25rem;border-radius:0}.rup-callout h4,.rup-upload h4{margin-top:0;margin-bottom:.25rem}.rup-callout p:last-child,.rup-upload p:last-child{margin-bottom:0}.rup-callout code,.rup-upload code{border-radius:.25rem}.rup-callout+.rup-callout,.rup-callout+.rup-upload,.rup-upload+.rup-callout,.rup-upload+.rup-upload{margin-top:-.25rem}.rup-callout-info{border-left-color:#5bc0de}.rup-callout-info h4{color:#5bc0de}.rup-callout-warning{border-left-color:#f0ad4e}.rup-callout-warning h4{color:#f0ad4e}.rup-callout-danger{border-left-color:#d9534f}.rup-callout-danger h4{color:#d9534f}.rup-callout-primary,.rup-upload{border-left-color:#6fa4ff}.color-primary-0{color:#6fa4ff}.color-primary-1{color:#fbfcff}.color-primary-2{color:#69a3d6}.color-primary-3{color:#337ab7}.color-primary-4{color:#204d71}.color-secondary-1-0{color:#8d73ff}.color-secondary-1-1{color:#fcfbff}.color-secondary-1-2{color:#b8a9fe}.color-secondary-1-3{color:#6441ff}.color-secondary-1-4{color:#3c10ff}.color-secondary-2-0{color:#ffe060}.color-secondary-2-1{color:#fffefa}.color-secondary-2-2{color:#ffec9d}.color-secondary-2-3{color:#ffd527}.color-secondary-2-4{color:#ffce00}.color-complement-0{color:#ffc660}.color-complement-1{color:#fffdfa}.color-complement-2{color:#ffdc9d}.color-complement-3{color:#ffb227}.color-complement-4{color:#ffa400}.card.card-1,.shadow-1{-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.card.card-2,.navbar-nav>.nav-item>.dropdown-menu,.rup-feedback,.rup-navbar,.rup-navbar .navbar-nav>.nav-item>.dropdown-menu,.shadow-2,.ui-button.rup-button.rup-button-fab,.ui-datepicker:not(.ui-datepicker-inline){-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.card.card-3,.shadow-3,.ui-button.rup-button.rup-button-fab:hover{-moz-box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);-webkit-box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.card.card-4,.shadow-4{-moz-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);-webkit-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.card.card-5,.shadow-5{-moz-box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22);-webkit-box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22);box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.card.card-hover:hover,.shadow-hover{transition:all .3s cubic-bezier(.25,.8,.25,1);-moz-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);-webkit-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}html{font-size:12px}.ui-widget,body,html{font-family:Roboto,sans-serif}h1{font-size:2.14rem}h1,h2{font-weight:700}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.3rem}h5{font-size:1rem}h6{font-size:.85rem}label{font-size:1rem}.ui-state-hover,.ui-widget-content .ui-state-hover{background:#b9d4ec}.ui-widget-overlay{opacity:.7;background-color:#050505}.input-group-btn>.ui-button.rup-button,.input-group-btn>a.rup-toolbar_menuButton.ui-button,.input-group-btn>button,.rup-dropdown-btn-group .input-group-btn>.rup-dropdown-button,.rup-wizard .input-group-btn>.rup-wizard_submitButton,.rup-wizard .input-group-btn>a.rup-wizard_next,.rup-wizard .input-group-btn>a.rup-wizard_prev{height:2rem;padding:0 5px}.rup-dropdown-btn-group .rup-dropdown-button,.rup-wizard .rup-wizard_submitButton,.rup-wizard a.rup-wizard_next,.rup-wizard a.rup-wizard_prev,.ui-button.rup-button,a.rup-toolbar_menuButton.ui-button,button,button.ui-button,input[type=button],input[type=submit]{box-shadow:none}body{font-size:1.1rem}.label,label,label.label{font-size:1rem;color:#333;display:inline-block;font-weight:700;margin-bottom:5px;max-width:100%}input,textarea{background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;color:#555;font-size:1rem;line-height:1.42857;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{width:auto;margin-bottom:0;border:none;padding:0 .4rem}legend,select{font-size:1rem}select{height:2rem;padding:0;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-moz-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}p,ul{margin-bottom:1rem}.btn,.rup-dropdown-btn-group .rup-dropdown-button,.rup-wizard .rup-wizard_submitButton,.rup-wizard a.rup-wizard_next,.rup-wizard a.rup-wizard_prev,.ui-button.rup-button,a.rup-toolbar_menuButton.ui-button,button,button.ui-button,input[type=button],input[type=submit]{font-size:1.1rem;padding:6px 12px;border-radius:4px;line-height:1.42857;font-weight:400;margin-bottom:0}.rup-dropdown-btn-group .rup-dropdown-button,.rup-wizard .rup-wizard_submitButton,.rup-wizard a.rup-wizard_next,.rup-wizard a.rup-wizard_prev,.ui-button.rup-button,a.rup-toolbar_menuButton.ui-button,button,button.ui-button,input[type=button],input[type=submit]{-moz-user-select:none;background-image:none;border:1px solid #ccc;border-radius:4px;cursor:pointer;display:inline-block;text-align:center;vertical-align:middle;white-space:nowrap;text-shadow:none}.input-lg{font-size:1.25rem;height:2.5rem}.dropdown-menu{font-size:1rem}.card{background:#fff;border-radius:2px;margin:1rem;position:relative}.ui-accordion .ui-accordion-header .ui-icon{background-image:none}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{display:inline-block;overflow:visible;text-indent:0;padding-right:.5rem}.ui-accordion .ui-accordion-header.ui-accordion-header-active{border:1px solid #337ab7;color:#fffcfb;background:#337ab7}.rup-breadCrumb_root{-moz-box-shadow:inset 0 -3px 6px rgba(0,0,0,.16),0 -3px 6px rgba(0,0,0,.23);-webkit-box-shadow:inset 0 -3px 6px rgba(0,0,0,.16),0 -3px 6px rgba(0,0,0,.23);box-shadow:inset 0 -3px 6px rgba(0,0,0,.16),0 -3px 6px rgba(0,0,0,.23);background:#d3d3d3;padding:.8rem 2rem;width:100%}.rup-breadCrumb_root .rup-breadCrumb_main>li{padding:0}.rup-breadCrumb_root .rup-breadCrumb_main>li span.rup-icon{padding:0;top:.4rem}.rup-breadCrumb_root .rup-breadCrumb_main>li a{padding:0 0 1rem}.rup-breadCrumb_root .rup-breadCrumb_main>li ul{margin-top:.3rem;max-height:25rem;overflow-y:auto}.rup-breadCrumb_logoutDiv:hover{color:#666}.rup-breadCrumb_logoutDiv .rup-breadCrumb_logoutImg{float:left;width:1.5rem;margin:0;text-indent:0;font:normal normal normal 14px/1 FontAwesome;font-size:large;text-rendering:auto;background-image:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rup-breadCrumb_logoutDiv .rup-breadCrumb_logoutImg:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;content:"\f023"}.rup-breadCrumb_logoutDiv .rup-breadCrumb_logoutImg_active{float:left;width:1.5rem;margin:0;text-indent:0;font:normal normal normal 14px/1 FontAwesome;font-size:large;text-rendering:auto;background-image:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rup-breadCrumb_logoutDiv .rup-breadCrumb_logoutImg_active:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;content:"\f09c"}.rup-feedback.rup-feedback_image.rup-feedback_image_alert span.rup-feedback-icon,.rup-feedback.rup-feedback_image.rup-feedback_image_error span.rup-feedback-icon,.rup-feedback.rup-feedback_image.rup-feedback_image_ok span.rup-feedback-icon,.rup-feedback.rup-feedback_image div.rup-feedback_closeLink{height:auto;margin:0 1rem 0 0;float:left;font-size:1.5rem;font-family:FontAwesome}.rup-feedback{margin:.8rem 0 2rem}.rup-feedback.rup-feedback_image{background-image:none;padding:1em .5em 1em 1.5em}.rup-feedback.rup-feedback_image.rup-feedback_image_ok{background-color:#c7e6c7}.rup-feedback.rup-feedback_image.rup-feedback_image_ok span.rup-feedback-icon{color:#2d672d}.rup-feedback.rup-feedback_image.rup-feedback_image_alert{background-color:#fae3c4}.rup-feedback.rup-feedback_image.rup-feedback_image_alert span.rup-feedback-icon{color:#b06d0f}.rup-feedback.rup-feedback_image.rup-feedback_image_error{background-color:#f0b9b8}.rup-feedback.rup-feedback_image.rup-feedback_image_error span.rup-feedback-icon{color:#8b211e}.rup-feedback.rup-feedback_image div.rup-feedback_closeLink{text-decoration:none;float:right;padding-right:2rem;padding-top:.5rem;margin:0;color:#818a91}.rup-feedback.rup-feedback_image div.rup-feedback_closeLink:before{float:right;visibility:visible}.rup-feedback.rup-feedback_image div.rup-feedback_closeLink:hover:before{color:#373a3c}.rup-feedback.rup-feedback_image div:last-child{padding-top:.2rem}.ui-button.rup-button.rup-dropdown{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.ui-button.rup-button.rup-button-fab{border-radius:50%;min-width:5rem;width:5rem;height:5rem}.ui-button.rup-button.rup-button-fab.rup-button-fab-sm{min-width:4rem;width:4rem;height:4rem}.ui-button.rup-button.rup-button-fab.rup-button-fab-lg{min-width:7rem;width:7rem;height:7rem}.ui-button.rup-button.rup-button-fab:focus{outline:none}.rup-mbutton,.ui-button.rup-button span.ui-button-icon.ui-icon{display:inline-block}.rup-mbutton .rup-mbutton-container{display:none;position:absolute;list-style:outside none none;z-index:9000;background-color:#fff;border:1px solid #ccc;margin:0;padding:.4rem}.rup-mbutton .rup-mbutton-container.rup-mbutton-open{display:block}.rup-dropdown-btn-group .rup-mbutton .rup-mbutton-container .rup-dropdown-button,.rup-mbutton .rup-mbutton-container .rup-dropdown-btn-group .rup-dropdown-button,.rup-mbutton .rup-mbutton-container .rup-wizard .rup-wizard_submitButton,.rup-mbutton .rup-mbutton-container .rup-wizard a.rup-wizard_next,.rup-mbutton .rup-mbutton-container .rup-wizard a.rup-wizard_prev,.rup-mbutton .rup-mbutton-container .ui-button.rup-button,.rup-mbutton .rup-mbutton-container a.rup-toolbar_menuButton.ui-button,.rup-mbutton .rup-mbutton-container button,.rup-wizard .rup-mbutton .rup-mbutton-container .rup-wizard_submitButton,.rup-wizard .rup-mbutton .rup-mbutton-container a.rup-wizard_next,.rup-wizard .rup-mbutton .rup-mbutton-container a.rup-wizard_prev{width:100%;text-align:left}@media (min-width:576px){.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-sm>.rup-dropdown-button,.rup-mbutton.rup-collapsed-sm>.ui-button.rup-button,.rup-mbutton.rup-collapsed-sm>a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-sm>button,.rup-wizard .rup-mbutton.rup-collapsed-sm>.rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-sm>a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-sm>a.rup-wizard_prev{display:none}.rup-mbutton.rup-collapsed-sm .rup-mbutton-container{display:inline!important;position:static;padding:0;border:none;background-color:transparent}.rup-mbutton.rup-collapsed-sm .rup-mbutton-container li{display:inline-block;vertical-align:middle}.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-sm .rup-mbutton-container .rup-dropdown-button,.rup-mbutton.rup-collapsed-sm .rup-mbutton-container .rup-dropdown-btn-group .rup-dropdown-button,.rup-mbutton.rup-collapsed-sm .rup-mbutton-container .rup-wizard .rup-wizard_submitButton,.rup-mbutton.rup-collapsed-sm .rup-mbutton-container .rup-wizard a.rup-wizard_next,.rup-mbutton.rup-collapsed-sm .rup-mbutton-container .rup-wizard a.rup-wizard_prev,.rup-mbutton.rup-collapsed-sm .rup-mbutton-container .ui-button.rup-button,.rup-mbutton.rup-collapsed-sm .rup-mbutton-container a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-sm .rup-mbutton-container button,.rup-wizard .rup-mbutton.rup-collapsed-sm .rup-mbutton-container .rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-sm .rup-mbutton-container a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-sm .rup-mbutton-container a.rup-wizard_prev{display:block;width:inherit}}@media (min-width:768px){.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-md>.rup-dropdown-button,.rup-mbutton.rup-collapsed-md>.ui-button.rup-button,.rup-mbutton.rup-collapsed-md>a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-md>button,.rup-wizard .rup-mbutton.rup-collapsed-md>.rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-md>a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-md>a.rup-wizard_prev{display:none}.rup-mbutton.rup-collapsed-md .rup-mbutton-container{display:inline!important;position:static;padding:0;border:none;background-color:transparent}.rup-mbutton.rup-collapsed-md .rup-mbutton-container li{display:inline-block;vertical-align:middle}.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-md .rup-mbutton-container .rup-dropdown-button,.rup-mbutton.rup-collapsed-md .rup-mbutton-container .rup-dropdown-btn-group .rup-dropdown-button,.rup-mbutton.rup-collapsed-md .rup-mbutton-container .rup-wizard .rup-wizard_submitButton,.rup-mbutton.rup-collapsed-md .rup-mbutton-container .rup-wizard a.rup-wizard_next,.rup-mbutton.rup-collapsed-md .rup-mbutton-container .rup-wizard a.rup-wizard_prev,.rup-mbutton.rup-collapsed-md .rup-mbutton-container .ui-button.rup-button,.rup-mbutton.rup-collapsed-md .rup-mbutton-container a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-md .rup-mbutton-container button,.rup-wizard .rup-mbutton.rup-collapsed-md .rup-mbutton-container .rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-md .rup-mbutton-container a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-md .rup-mbutton-container a.rup-wizard_prev{display:block;width:inherit}}@media (min-width:992px){.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-lg>.rup-dropdown-button,.rup-mbutton.rup-collapsed-lg>.ui-button.rup-button,.rup-mbutton.rup-collapsed-lg>a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-lg>button,.rup-wizard .rup-mbutton.rup-collapsed-lg>.rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-lg>a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-lg>a.rup-wizard_prev{display:none}.rup-mbutton.rup-collapsed-lg .rup-mbutton-container{display:inline!important;position:static;padding:0;border:none;background-color:transparent}.rup-mbutton.rup-collapsed-lg .rup-mbutton-container li{display:inline-block;vertical-align:middle}.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-lg .rup-mbutton-container .rup-dropdown-button,.rup-mbutton.rup-collapsed-lg .rup-mbutton-container .rup-dropdown-btn-group .rup-dropdown-button,.rup-mbutton.rup-collapsed-lg .rup-mbutton-container .rup-wizard .rup-wizard_submitButton,.rup-mbutton.rup-collapsed-lg .rup-mbutton-container .rup-wizard a.rup-wizard_next,.rup-mbutton.rup-collapsed-lg .rup-mbutton-container .rup-wizard a.rup-wizard_prev,.rup-mbutton.rup-collapsed-lg .rup-mbutton-container .ui-button.rup-button,.rup-mbutton.rup-collapsed-lg .rup-mbutton-container a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-lg .rup-mbutton-container button,.rup-wizard .rup-mbutton.rup-collapsed-lg .rup-mbutton-container .rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-lg .rup-mbutton-container a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-lg .rup-mbutton-container a.rup-wizard_prev{display:block;width:inherit}}@media (min-width:1200px){.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-xl>.rup-dropdown-button,.rup-mbutton.rup-collapsed-xl>.ui-button.rup-button,.rup-mbutton.rup-collapsed-xl>a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-xl>button,.rup-wizard .rup-mbutton.rup-collapsed-xl>.rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-xl>a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-xl>a.rup-wizard_prev{display:none}.rup-mbutton.rup-collapsed-xl .rup-mbutton-container{display:inline!important;position:static;padding:0;border:none;background-color:transparent}.rup-mbutton.rup-collapsed-xl .rup-mbutton-container li{display:inline-block;vertical-align:middle}.rup-dropdown-btn-group .rup-mbutton.rup-collapsed-xl .rup-mbutton-container .rup-dropdown-button,.rup-mbutton.rup-collapsed-xl .rup-mbutton-container .rup-dropdown-btn-group .rup-dropdown-button,.rup-mbutton.rup-collapsed-xl .rup-mbutton-container .rup-wizard .rup-wizard_submitButton,.rup-mbutton.rup-collapsed-xl .rup-mbutton-container .rup-wizard a.rup-wizard_next,.rup-mbutton.rup-collapsed-xl .rup-mbutton-container .rup-wizard a.rup-wizard_prev,.rup-mbutton.rup-collapsed-xl .rup-mbutton-container .ui-button.rup-button,.rup-mbutton.rup-collapsed-xl .rup-mbutton-container a.rup-toolbar_menuButton.ui-button,.rup-mbutton.rup-collapsed-xl .rup-mbutton-container button,.rup-wizard .rup-mbutton.rup-collapsed-xl .rup-mbutton-container .rup-wizard_submitButton,.rup-wizard .rup-mbutton.rup-collapsed-xl .rup-mbutton-container a.rup-wizard_next,.rup-wizard .rup-mbutton.rup-collapsed-xl .rup-mbutton-container a.rup-wizard_prev{display:block;width:inherit}}.rup-dropdown-btn-group .rup-dropdown-button{border-top-left-radius:0;border-bottom-left-radius:0;padding-left:.5rem}.rup-dropdown-btn-group .rup-dropdown-button.ui-button-icon-only>span.ui-button-icon{margin-top:-8px}.rup-button-fab-group{display:block;position:fixed;bottom:45px;right:24px;z-index:9999}.rup-button-fab-group .rup-button-fixed>i{font-size:1.5rem;-webkit-animation:fabRotateLeft .3s linear}.rup-button-fab-group:hover .rup-button-fixed>i{-webkit-animation:fabRotateRight .3s linear}.rup-button-fab-group:hover .rup-button-fab-list{max-height:20rem;opacity:1}.rup-button-fab-group:hover .rup-button-fab-list .rup-button-fab{-webkit-animation:fabListGrow .3s linear}.rup-button-fab-group .rup-button-fab-list{order:1;padding:0;max-height:0;opacity:0;text-align:center;overflow:hidden;-webkit-transition:all .8s ease;-moz-transition:all .8s ease;-o-transition:all .8s ease;-ms-transition:all .8s ease;transition:all .8s ease}.rup-button-fab-group .rup-button-fab-list .rup-button-fab{-webkit-animation:fabListBelittle .8s linear;margin:.5rem 0}@-webkit-keyframes fabRotateRight{0%{-webkit-transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg)}to{-webkit-transform:rotate(1turn)}}@-webkit-keyframes fabRotateLeft{0%{-webkit-transform:rotate(0deg)}50%{-webkit-transform:rotate(-180deg)}to{-webkit-transform:rotate(-1turn)}}@-webkit-keyframes fabListGrow{0%{-webkit-transform:scale(0)}50%{-webkit-transform:scale(.8)}to{-webkit-transform:scale(1)}}@-webkit-keyframes fabListBelittle{0%{-webkit-transform:scale(1)}50%{-webkit-transform:scale(.2)}to{-webkit-transform:scale(0)}}.select2-container{min-width:180px}.select2-results__option{padding-right:20px;vertical-align:middle}.select2-results__option:before{content:"";display:inline-block;position:relative;height:20px;width:20px;border:2px solid #e9e9e9;border-radius:4px;background-color:#fff;margin-right:20px;vertical-align:middle}.select2-results__option[role=group]:before{display:none}.select2-results__option[aria-selected=true]:before{font-family:fontAwesome;content:"\f00c";background-color:#00f;padding-left:3px}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#fff}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#eaeaeb;color:#272727}.select2-container--default .select2-selection--multiple{margin-bottom:10px}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-radius:4px}.select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#f77750;border-width:2px}.select2-container--default .select2-selection--multiple{border-width:2px}.select2-container--open .select2-dropdown--below{box-shadow:0 0 10px rgba(0,0,0,.5)}.select2-selection .select2-selection--multiple:after{content:"hhghgh"}.select-icon .placeholder,.select-icon .select2-selection__placeholder .badge{display:none}.select-icon .select2-results__option:before,.select-icon .select2-results__option[aria-selected=true]:before{display:none!important}.select-icon .select2-search--dropdown{display:none}.context-menu-list{font-family:Roboto,sans-serif;border-color:#ccc;font-size:1.1rem;padding:4px}.context-menu-item,.context-menu-list{background-color:#fff}.context-menu-item.context-menu-disabled,.context-menu-item.context-menu-disabled *{color:#818a91}div.formEdit_dialog_loading_container div{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100;animation:fadeIn-overlay .75s ease-out forwards}div.formEdit_dialog_loading_container span{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10rem;z-index:101;animation:fadeIn-spinner 1.25s ease-out forwards}@keyframes fadeIn-overlay{0%{opacity:0}to{opacity:.3;background-color:#050505}}@keyframes fadeIn-spinner{0%{opacity:0}to{opacity:1;color:#333}}.rup-date-input-group{display:inline-table;vertical-align:middle}.rup-date-input-group .hasDatepicker{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;display:table-cell;width:auto}.rup-date-input-group .ui-datepicker-trigger{padding-bottom:.38rem;padding-left:.5rem;padding-right:.5rem;border-top-left-radius:0;border-bottom-left-radius:0;display:table-cell}.rup-date-input-group .ui-datepicker-trigger *{display:table-cell}.ui-datepicker{background:#fff}.ui-datepicker .ui-datepicker-header{background:#fff;border:none}.ui-datepicker head{border-bottom:.1em solid #000}.ui-datepicker head th{padding-bottom:0}.ui-datepicker td{padding:unset}.ui-datepicker .ui-datepicker-calendar td{background:none}.ui-datepicker .ui-datepicker-calendar td a{text-align:center;border:.1em solid #fff;background-color:#fff;color:#000}.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-unselectable{opacity:.5}.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-unselectable span{border:none;text-align:center;background-color:#fff}.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today a{background-color:#337ab7;border:.1em solid #337ab7;color:#fff}.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-week-end a{background-color:#f0b9b8;border:.1em solid #f0b9b8;color:#000}.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day a,.ui-datepicker .ui-datepicker-calendar td.ui-state-highlight a{background-color:#b4fdcc;border:.1em solid #175c2e;color:#000}.ui-datepicker .ui-datepicker-calendar td:hover a{background:#69a3d6;border:.1em solid #69a3d6;color:#fff}.ui-dialog{padding:0;color:#333;border-radius:0}.ui-dialog .ui-dialog-titlebar{border:none;border-radius:0;color:#333}.ui-dialog .ui-dialog-titlebar.ui-widget-header{padding:1rem;background-color:#fff;color:#333;border-bottom:1px solid #eceeef}.ui-dialog .ui-dialog-titlebar.ui-widget-header .ui-dialog-title{margin-top:0;margin-bottom:0}.ui-dialog .ui-dialog-titlebar.ui-widget-header span.ui-dialog-title{font-size:1.1rem}.ui-dialog .ui-dialog-titlebar.ui-widget-header a.ui-dialog-title[role=button]{display:none}.ui-dialog .ui-dialog-titlebar.ui-widget-header .ui-dialog-titlebar-close{margin-right:2rem;background-color:transparent;border-color:transparent;opacity:1;color:#818a91;text-shadow:none}.ui-dialog .ui-dialog-titlebar.ui-widget-header .ui-dialog-titlebar-close:hover{color:#373a3c}.ui-dialog .ui-dialog-titlebar.ui-widget-header .ui-dialog-titlebar-close span{display:inline-block;background-image:none;overflow:visible;text-indent:0;margin:0;padding-right:.5rem}.ui-dialog .ui-dialog-titlebar.ui-widget-header .ui-dialog-titlebar-close span.ui-icon-closethick{font-size:1.2rem;top:0}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{display:inline-block}.rup-dropdown-btn-group .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.rup-dropdown-button,.rup-wizard .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.rup-wizard_submitButton,.rup-wizard .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.ui-button.rup-wizard_next,.rup-wizard .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.ui-button.rup-wizard_prev,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-dropdown-btn-group .ui-button.rup-dropdown-button,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-wizard .ui-button.rup-wizard_submitButton,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-wizard a.ui-button.rup-wizard_next,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-wizard a.ui-button.rup-wizard_prev,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.rup-button,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.ui-button.rup-toolbar_menuButton,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.ui-button{background-image:none;font-family:Roboto,sans-serif;text-shadow:none;border-color:#adadad}.rup-dropdown-btn-group .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.rup-dropdown-button:hover,.rup-wizard .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.rup-wizard_submitButton:hover,.rup-wizard .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.ui-button.rup-wizard_next:hover,.rup-wizard .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.ui-button.rup-wizard_prev:hover,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-dropdown-btn-group .ui-button.rup-dropdown-button:hover,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-wizard .ui-button.rup-wizard_submitButton:hover,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-wizard a.ui-button.rup-wizard_next:hover,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-wizard a.ui-button.rup-wizard_prev:hover,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.rup-button:hover,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.ui-button.rup-toolbar_menuButton:hover,.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.ui-button:hover{background-color:#e6e6e6;border-color:#adadad;color:#333}.rup-message .rup-message_icon-alert,.rup-message .rup-message_icon-confirm,.rup-message .rup-message_icon-error,.rup-message .rup-message_icon-ok{background-image:none;height:auto;padding-top:.4em;margin-left:.4em;margin-right:0;font-size:1.5rem}.rup-message .ui-dialog-titlebar{background:#fff}.rup-message .ui-dialog-titlebar .ui-dialog-title{color:#333}.rup-message.rup-message-error .ui-dialog-titlebar{background:#f0b9b8}.rup-message.rup-message-error .ui-dialog-titlebar .ui-dialog-title{color:#8b211e}.rup-message.rup-message-ok .ui-dialog-titlebar{background:#c7e6c7}.rup-message.rup-message-ok .ui-dialog-titlebar .ui-dialog-title{color:#2d672d}.rup-message.rup-message-alert .ui-dialog-titlebar{background:#fae3c4}.rup-message.rup-message-alert .ui-dialog-titlebar .ui-dialog-title{color:#b06d0f}.rup-message.rup-message-confirm .ui-dialog-titlebar{background:#c5e9f3}.rup-message.rup-message-confirm .ui-dialog-titlebar .ui-dialog-title{color:#1f7e9a}.rup-message .rup-message_icon-ok{color:#2d672d}.rup-message .rup-message_icon-alert{color:#b06d0f}.rup-message .rup-message_icon-error{color:#8b211e}.rup-message .rup-message_icon-confirm{color:#1f7e9a}@media (max-width:768px){.ui-dialog{width:95%!important;left:1.25%!important;margin:5% 1.25%!important}.rup-message .rup-message_icon-alert,.rup-message .rup-message_icon-confirm,.rup-message .rup-message_icon-error,.rup-message .rup-message_icon-ok{background-image:none;height:auto;padding-top:.4em;margin-left:0;margin-right:1rem;font-size:1.5rem;width:auto;display:table-cell}.rup-message_msg-alert,.rup-message_msg-confirm,.rup-message_msg-error,.rup-message_msg-ok{padding-top:.4em;text-align:left;vertical-align:middle;width:auto;float:none;margin:0;display:table-cell}}.rup-dropdown-btn-group .rup-dropdown-button,.rup-wizard .rup-wizard_submitButton,.rup-wizard a.rup-wizard_next,.rup-wizard a.rup-wizard_prev,.ui-button.rup-button,a.rup-toolbar_menuButton.ui-button,button,button.ui-button,input[type=button],input[type=submit]{background-color:#fff;border-color:#ccc;color:#333}.rup-dropdown-btn-group .rup-dropdown-button:hover,.rup-tabs_container.ui-tabs ul.ui-tabs-nav li.ui-tabs-tab a:hover,.rup-wizard .rup-wizard_submitButton:hover,.rup-wizard a.rup-wizard_next:hover,.rup-wizard a.rup-wizard_prev:hover,.ui-button.rup-button:hover,a.rup-toolbar_menuButton.ui-button:hover,button:hover,input[type=button]:hover,input[type=submit]:hover{background-color:#f2f2f2;border-color:#999;color:#333}.rup-navbar .invisible{visibility:hidden!important}.rup-navbar .hidden-xs-up{display:none!important}@media (max-width:575px){.rup-navbar .hidden-xs-down{display:none!important}}@media (min-width:576px){.rup-navbar .hidden-sm-up{display:none!important}}@media (max-width:767px){.rup-navbar .hidden-sm-down{display:none!important}}@media (min-width:768px){.rup-navbar .hidden-md-up{display:none!important}}@media (max-width:991px){.rup-navbar .hidden-md-down{display:none!important}}@media (min-width:992px){.rup-navbar .hidden-lg-up{display:none!important}}@media (max-width:1199px){.rup-navbar .hidden-lg-down{display:none!important}}@media (min-width:1200px){.rup-navbar .hidden-xl-up{display:none!important}}.rup-navbar .hidden-xl-down,.rup-navbar .visible-print-block{display:none!important}@media print{.rup-navbar .visible-print-block{display:block!important}}.rup-navbar .visible-print-inline{display:none!important}@media print{.rup-navbar .visible-print-inline{display:inline!important}}.rup-navbar .visible-print-inline-block{display:none!important}@media print{.rup-navbar .visible-print-inline-block{display:inline-block!important}}@media print{.rup-navbar .hidden-print{display:none!important}}.rup-navbar .dropdown,.rup-navbar .dropup{position:relative}.rup-navbar .dropdown-toggle:after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid!important;border-right:.3em solid transparent!important;border-left:.3em solid transparent!important}.rup-navbar .dropdown-toggle:focus{outline:0}.rup-navbar .dropup .dropdown-toggle:after{border-top:0;border-bottom:.3em solid}.rup-navbar .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#f2f2f2;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:0;-moz-box-shadow:0 .5rem 1rem rgba(0,0,0,.175);-webkit-box-shadow:0 .5rem 1rem rgba(0,0,0,.175);box-shadow:0 .5rem 1rem rgba(0,0,0,.175)}.rup-navbar .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e5e5e5}.rup-navbar .dropdown-item{display:block;width:100%;padding:3px 1.5rem;clear:both;font-weight:400;color:#373a3c;text-align:inherit;white-space:nowrap;background:none;border:0}.rup-navbar .dropdown-item:focus,.rup-navbar .dropdown-item:hover{color:#2b2d2f;text-decoration:none;background-color:#f5f5f5}.rup-navbar .dropdown-item.active,.rup-navbar .dropdown-item.active:focus,.rup-navbar .dropdown-item.active:hover{color:#fff;text-decoration:none;background-color:#0275d8;outline:0}.rup-navbar .dropdown-item.disabled,.rup-navbar .dropdown-item.disabled:focus,.rup-navbar .dropdown-item.disabled:hover{color:#818a91}.rup-navbar .dropdown-item.disabled:focus,.rup-navbar .dropdown-item.disabled:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none}.rup-navbar .open>.dropdown-menu{display:block}.rup-navbar .open>a{outline:0}.rup-navbar .dropdown-menu-right{right:0;left:auto}.rup-navbar .dropdown-menu-left{right:auto;left:0}.rup-navbar .dropdown-menu-arrow-center:after,.rup-navbar .dropdown-menu-arrow-center:before{left:50%!important}.rup-navbar .dropdown-menu-arrow-right:after,.rup-navbar .dropdown-menu-arrow-right:before{right:10%;left:auto!important}.rup-navbar .dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#818a91;white-space:nowrap}.rup-navbar .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.rup-navbar .dropup .caret,.rup-navbar .navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:.3em solid}.rup-navbar .dropup .dropdown-menu,.rup-navbar .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:.125rem}.rup-navbar .nav{padding-left:0;margin-bottom:0;list-style:none}.rup-navbar .nav-link{display:inline-block}.rup-navbar .nav-link:focus,.rup-navbar .nav-link:hover{text-decoration:none}.rup-navbar .nav-link.disabled{color:#818a91}.rup-navbar .nav-link.disabled,.rup-navbar .nav-link.disabled:focus,.rup-navbar .nav-link.disabled:hover{color:#818a91;cursor:not-allowed;background-color:transparent}.rup-navbar .nav-inline .nav-item{display:inline-block}.rup-navbar .nav-inline .nav-item+.nav-item,.rup-navbar .nav-inline .nav-link+.nav-link{margin-left:1rem}.rup-navbar .nav-tabs{border-bottom:1px solid #ddd}.rup-navbar .nav-tabs:after{content:"";display:table;clear:both}.rup-navbar .nav-tabs .nav-item{float:left;margin-bottom:-1px}.rup-navbar .nav-tabs .nav-item+.nav-item{margin-left:.2rem}.rup-navbar .nav-tabs .nav-link{display:block;padding:.5em 1em;border:1px solid transparent;border-top-right-radius:4px;border-top-left-radius:4px}.rup-navbar .nav-tabs .nav-link:focus,.rup-navbar .nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.rup-navbar .nav-tabs .nav-link.disabled,.rup-navbar .nav-tabs .nav-link.disabled:focus,.rup-navbar .nav-tabs .nav-link.disabled:hover{color:#818a91;background-color:transparent;border-color:transparent}.rup-navbar .nav-tabs .nav-item.open .nav-link,.rup-navbar .nav-tabs .nav-item.open .nav-link:focus,.rup-navbar .nav-tabs .nav-item.open .nav-link:hover,.rup-navbar .nav-tabs .nav-link.active,.rup-navbar .nav-tabs .nav-link.active:focus,.rup-navbar .nav-tabs .nav-link.active:hover{color:#55595c;background-color:#fff;border-color:#ddd #ddd transparent}.rup-navbar .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.rup-navbar .nav-pills:after{content:"";display:table;clear:both}.rup-navbar .nav-pills .nav-item{float:left}.rup-navbar .nav-pills .nav-item+.nav-item{margin-left:.2rem}.rup-navbar .nav-pills .nav-link{display:block;padding:.5em 1em;border-radius:0}.rup-navbar .nav-pills .nav-item.open .nav-link,.rup-navbar .nav-pills .nav-item.open .nav-link:focus,.rup-navbar .nav-pills .nav-item.open .nav-link:hover,.rup-navbar .nav-pills .nav-link.active,.rup-navbar .nav-pills .nav-link.active:focus,.rup-navbar .nav-pills .nav-link.active:hover{color:#fff;cursor:default;background-color:#0275d8}.rup-navbar .nav-stacked .nav-item{display:block;float:none}.rup-navbar .nav-stacked .nav-item+.nav-item{margin-top:.2rem;margin-left:0}.rup-navbar .tab-content>.tab-pane{display:none}.rup-navbar .tab-content>.active{display:block}.rup-navbar .navbar{position:relative;padding:.5rem 1rem}.rup-navbar .navbar:after{content:"";display:table;clear:both}@media (min-width:576px){.rup-navbar .navbar{border-radius:0}}.rup-navbar .navbar-full{z-index:1000}@media (min-width:576px){.rup-navbar .navbar-full{border-radius:0}}.rup-navbar .navbar-fixed-bottom,.rup-navbar .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:576px){.rup-navbar .navbar-fixed-bottom,.rup-navbar .navbar-fixed-top{border-radius:0}}.rup-navbar .navbar-fixed-top{top:0}.rup-navbar .navbar-fixed-bottom{bottom:0}.rup-navbar .navbar-sticky-top{position:sticky;top:0;z-index:1030;width:100%}@media (min-width:576px){.rup-navbar .navbar-sticky-top{border-radius:0}}.rup-navbar .navbar-brand{float:left;text-decoration:underline;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit}.rup-navbar .navbar-brand:focus,.rup-navbar .navbar-brand:hover{text-decoration:none}.rup-navbar .navbar-divider{float:left;width:1px;padding-top:.425rem;padding-bottom:.425rem;margin-right:1rem;margin-left:1rem;overflow:hidden}.rup-navbar .navbar-divider:before{content:"\00a0"}.rup-navbar .navbar-text{display:inline-block;padding-top:.425rem;padding-bottom:.425rem}.rup-navbar .navbar-toggler{width:2.5em;height:2em;padding:.5rem .75rem;font-size:1.25rem;line-height:1;background:transparent no-repeat 50%;background-size:24px 24px;border:1px solid transparent}.rup-navbar .navbar-toggler:focus,.rup-navbar .navbar-toggler:hover{text-decoration:none}@media (max-width:575px){.rup-navbar .navbar-toggleable-xs .navbar-brand{display:block;float:none;margin:0}.rup-navbar .navbar-toggleable-xs .navbar-nav{margin:0}.rup-navbar .navbar-toggleable-xs .navbar-nav .dropdown-menu{position:static;float:none}}@media (min-width:576px){.rup-navbar .navbar-toggleable-xs{display:block}}@media (max-width:767px){.rup-navbar .navbar-toggleable-sm .navbar-brand{display:block;float:none;margin:0}.rup-navbar .navbar-toggleable-sm .navbar-nav{margin:0}.rup-navbar .navbar-toggleable-sm .navbar-nav .dropdown-menu{position:static;float:none}}@media (min-width:768px){.rup-navbar .navbar-toggleable-sm{display:block}}@media (max-width:991px){.rup-navbar .navbar-toggleable-md .navbar-brand{display:block;float:none;margin:0}.rup-navbar .navbar-toggleable-md .navbar-nav{margin:0}.rup-navbar .navbar-toggleable-md .navbar-nav .dropdown-menu{position:static;float:none}}@media (min-width:992px){.rup-navbar .navbar-toggleable-md{display:block}}.rup-navbar .navbar-toggleable-lg:after{content:"";display:table;clear:both}@media (max-width:1199px){.rup-navbar .navbar-toggleable-lg .navbar-brand{display:block;float:none;margin:0}.rup-navbar .navbar-toggleable-lg .navbar-nav{margin:0}.rup-navbar .navbar-toggleable-lg .navbar-nav .dropdown-menu{position:static;float:none}}@media (min-width:1200px){.rup-navbar .navbar-toggleable-lg{display:block}}.rup-navbar .navbar-toggleable-xl{display:block}.rup-navbar .navbar-toggleable-xl:after{content:"";display:table;clear:both}.rup-navbar .navbar-toggleable-xl .navbar-brand{display:block;float:none;margin:0}.rup-navbar .navbar-toggleable-xl .navbar-nav{margin:0}.rup-navbar .navbar-toggleable-xl .navbar-nav .dropdown-menu{position:static;float:none}.rup-navbar .navbar-nav .nav-item{float:left}.rup-navbar .navbar-nav .nav-link{display:block;padding-top:.425rem;padding-bottom:.425rem}.rup-navbar .navbar-nav .nav-item+.nav-item,.rup-navbar .navbar-nav .nav-link+.nav-link{margin-left:1rem}.rup-navbar .navbar-light .navbar-brand,.rup-navbar .navbar-light .navbar-brand:focus,.rup-navbar .navbar-light .navbar-brand:hover,.rup-navbar .navbar-light .navbar-toggler,.rup-navbar .navbar-light .navbar-toggler:focus,.rup-navbar .navbar-light .navbar-toggler:hover{color:rgba(0,0,0,.9)}.rup-navbar .navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.rup-navbar .navbar-light .navbar-nav .nav-link:focus,.rup-navbar .navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.rup-navbar .navbar-light .navbar-nav .active>.nav-link,.rup-navbar .navbar-light .navbar-nav .active>.nav-link:focus,.rup-navbar .navbar-light .navbar-nav .active>.nav-link:hover,.rup-navbar .navbar-light .navbar-nav .nav-link.active,.rup-navbar .navbar-light .navbar-nav .nav-link.active:focus,.rup-navbar .navbar-light .navbar-nav .nav-link.active:hover,.rup-navbar .navbar-light .navbar-nav .nav-link.open,.rup-navbar .navbar-light .navbar-nav .nav-link.open:focus,.rup-navbar .navbar-light .navbar-nav .nav-link.open:hover,.rup-navbar .navbar-light .navbar-nav .open>.nav-link,.rup-navbar .navbar-light .navbar-nav .open>.nav-link:focus,.rup-navbar .navbar-light .navbar-nav .open>.nav-link:hover{color:rgba(0,0,0,.9)}.rup-navbar .navbar-light .navbar-toggler{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0,0,0,0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");border-color:rgba(0,0,0,.1)}.rup-navbar .navbar-light .navbar-divider{background-color:rgba(0,0,0,.075)}.rup-navbar .navbar-dark .navbar-brand,.rup-navbar .navbar-dark .navbar-brand:focus,.rup-navbar .navbar-dark .navbar-brand:hover,.rup-navbar .navbar-dark .navbar-toggler,.rup-navbar .navbar-dark .navbar-toggler:focus,.rup-navbar .navbar-dark .navbar-toggler:hover{color:#fff}.rup-navbar .navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.rup-navbar .navbar-dark .navbar-nav .nav-link:focus,.rup-navbar .navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.rup-navbar .navbar-dark .navbar-nav .active>.nav-link,.rup-navbar .navbar-dark .navbar-nav .active>.nav-link:focus,.rup-navbar .navbar-dark .navbar-nav .active>.nav-link:hover,.rup-navbar .navbar-dark .navbar-nav .nav-link.active,.rup-navbar .navbar-dark .navbar-nav .nav-link.active:focus,.rup-navbar .navbar-dark .navbar-nav .nav-link.active:hover,.rup-navbar .navbar-dark .navbar-nav .nav-link.open,.rup-navbar .navbar-dark .navbar-nav .nav-link.open:focus,.rup-navbar .navbar-dark .navbar-nav .nav-link.open:hover,.rup-navbar .navbar-dark .navbar-nav .open>.nav-link,.rup-navbar .navbar-dark .navbar-nav .open>.nav-link:focus,.rup-navbar .navbar-dark .navbar-nav .open>.nav-link:hover{color:#fff}.rup-navbar .navbar-dark .navbar-toggler{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");border-color:hsla(0,0%,100%,.1)}.rup-navbar .navbar-dark .navbar-divider{background-color:hsla(0,0%,100%,.075)}.rup-navbar .navbar-toggleable-xs:after{content:"";display:table;clear:both}@media (max-width:575px){.rup-navbar .navbar-toggleable-xs .navbar-nav .nav-item{float:none;margin-left:0}}@media (min-width:576px){.rup-navbar .navbar-toggleable-xs{display:block!important}}.rup-navbar .navbar-toggleable-sm:after{content:"";display:table;clear:both}@media (max-width:767px){.rup-navbar .navbar-toggleable-sm .navbar-nav .nav-item{float:none;margin-left:0}}@media (min-width:768px){.rup-navbar .navbar-toggleable-sm{display:block!important}}.rup-navbar .navbar-toggleable-md:after{content:"";display:table;clear:both}@media (max-width:991px){.rup-navbar .navbar-toggleable-md .navbar-nav .nav-item{float:none;margin-left:0}}@media (min-width:992px){.rup-navbar .navbar-toggleable-md{display:block!important}}.rup-navbar ul{margin-top:0}.rup-navbar ul .dropdown-menu a i.fa{padding-right:.5rem}.rup-navbar{clear:both;border:0 #204d71;background:#69a3d6;border-radius:0;padding:0;z-index:99;height:4rem;min-height:4rem;margin-bottom:0;position:relative;display:block}.rup-navbar .nav{padding-bottom:0}.rup-navbar .navbar-brand{background:#204d71;height:4rem;line-height:3rem;margin:0;padding:0 2rem;line-height:3.6rem}.rup-navbar .navbar-toggler{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='4' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");border-color:#eceeef;color:#eceeef;border-radius:0;margin:9px 0 9px 9px}.rup-navbar .navbar-toggler:focus,.rup-navbar .navbar-toggler:hover{background-color:inherit}.rup-navbar .navbar-nav{display:block}.rup-navbar .navbar-nav .dropdown-menu{position:absolute}.rup-navbar .navbar-nav.rup-nav-tools .rup-nav-tool-icon{font-size:2rem}.rup-navbar .navbar-nav.rup-nav-tools .rup-nav-tool-icon:after{display:none}.rup-navbar .navbar-nav.rup-nav-tools .rup-nav-tool-icon span{font-size:1.2rem;vertical-align:middle;padding-left:.2rem}.rup-navbar .navbar-nav.rup-nav-tools .swingTop{width:0;overflow:hidden;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-o-transition:all .3s ease;-ms-transition:all .3s ease;transition:all .3s ease}.rup-navbar .navbar-nav.rup-nav-tools .swingTop.on{width:4rem}.rup-navbar .navbar-nav>.nav-item{height:4rem;line-height:3rem;margin-left:0;padding-left:0;background:#337ab7;border-right:1px solid #69a3d6}.rup-navbar .navbar-nav>.nav-item+.nav-item{margin-left:inherit}.rup-navbar .navbar-nav>.nav-item.open,.rup-navbar .navbar-nav>.nav-item:hover{background:#69a3d6}.rup-navbar .navbar-nav>.nav-item .nav-link{padding-left:1rem;padding-right:1rem;line-height:3rem}.rup-navbar .navbar-nav>.nav-item .nav-link:focus,.rup-navbar .navbar-nav>.nav-item .nav-link:hover{background:#69a3d6}.rup-navbar .navbar-nav>.nav-item>.dropdown-menu{border-radius:0}.rup-navbar .navbar-nav>.nav-item>.dropdown-menu .dropdown-item{color:#333;line-height:2rem}.rup-navbar .navbar-nav>.nav-item>.dropdown-menu .dropdown-item:hover{background:#69a3d6;color:#fffcfb}.rup-navbar-sticky{position:fixed;width:100%;top:0}#overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(5,5,5,0);z-index:-1;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-o-transition:all .3s ease;-ms-transition:all .3s ease;transition:all .3s ease}#overlay.on{z-index:98;background-color:rgba(5,5,5,.7)}.navbar-nav.rup-nav-tools{float:right;margin-top:0}.navbar-nav.rup-nav-tools .rup-nav-tool-icon{font-size:2rem;vertical-align:initial;display:inherit;height:inherit}.navbar-nav.rup-nav-tools .rup-nav-tool-icon:after{display:none}.navbar-nav.rup-nav-tools .rup-nav-tool-icon span{font-size:1.2rem;vertical-align:middle;padding-left:.2rem}.navbar-nav>.nav-item{height:4rem;line-height:3rem;margin-left:0;padding-left:0;background:#337ab7}.navbar-nav>.nav-item.open{background:#69a3d6}.navbar-nav>.nav-item.open a.nav-link{background-color:inherit}.navbar-nav>.nav-item:hover{background:#69a3d6}.navbar-nav>.nav-item .nav-link{padding-left:1rem;padding-right:1rem}.navbar-nav>.nav-item .nav-link:hover{background:#69a3d6}.navbar-nav>.nav-item>.dropdown-menu{border-radius:0}.navbar-nav>.nav-item>.dropdown-menu .dropdown-item{color:#333;line-height:2rem}.navbar-nav>.nav-item>.dropdown-menu .dropdown-item:hover{background:#69a3d6;color:#fffcfb}@media (max-width:991px){#overlay{display:block}.open>.dropdown-menu{max-height:0}.rup-open>.dropdown-menu{max-height:20rem!important}.navbar-toggleable-md{margin-top:0;position:relative;z-index:99;width:100%;height:48px}.navbar-toggleable-md .navbar-nav{margin:0}.navbar-toggleable-md .navbar-nav.rup-nav-tools{display:table;width:100%;border:1px solid #69a3d6;border-right:0}.navbar-toggleable-md .navbar-nav.rup-nav-tools .nav-item{display:table-cell;text-align:center;border-right:1px solid #69a3d6}.navbar-toggleable-md .navbar-nav.rup-nav-tools .swingTop{display:block}.navbar-toggleable-md .navbar-nav .nav-item{display:inline-table;width:100%;border-right:0}.navbar-toggleable-md .navbar-nav .nav-item .dropdown-menu{position:static;float:none;margin:0;padding:0;border:0;overflow-y:auto;max-height:0;display:block;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-o-transition:all .3s ease;-ms-transition:all .3s ease;transition:all .3s ease;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-toggleable-md .navbar-nav .nav-item .dropdown-menu .dropdown-submenu .dropdown-menu{background-color:#e6e6e6}.navbar-toggleable-md .navbar-nav .nav-item .dropdown-menu:after,.navbar-toggleable-md .navbar-nav .nav-item .dropdown-menu:before{display:none}}nav.rup-navbar .option1{background:#8c8c8c}nav.rup-navbar .option2{background:#b3b3b3}nav.rup-navbar .navbar-collapse{background:#b6b6b6}.nav>.dropdown>.dropdown-menu>li>a{color:#333}nav.rup-navbar a{color:#fffcfb}.navbar-toggle .icon-bar{background-color:#fff}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu>a:after{border-color:transparent transparent transparent #ccc;border-style:solid;border-width:5px 0 5px 5px;content:" ";display:block;float:right;height:0;margin-right:-10px;margin-top:5px;position:absolute;right:1rem;top:.5rem;transform:rotate(270deg);width:0}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}nav>div.no-gutter{padding-right:0;padding-left:0}nav>div>ul>li>div.dropdown-menu.show{display:block}.ui-progressbar{height:2em;margin-bottom:20px;border:0;overflow:hidden;text-align:left}.ui-progressbar .ui-progressbar-value{margin:0;height:100%;color:#fff;background-color:#337ab7;background-image:none}.ui-progressbar .ui-progressbar-overlay{background-size:40px 40px;background-image:-webkit-linear-gradient(45deg,#204d71 25%,transparent 0,transparent 50%,#204d71 0,#204d71 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,#204d71 25%,transparent 25%,transparent 50%,#204d71 50%,#204d71 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,#204d71 25%,transparent 0,transparent 50%,#204d71 0,#204d71 75%,transparent 0,transparent);animation:animate-stripes 1s linear infinite}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}@-webkit-keyframes animate-stripes{0%{background-position:0 0}to{background-position:40px 0}}@keyframes animate-stripes{0%{background-position:0 0}to{background-position:40px 0}}input.rup_spinner{font-size:1rem}.rup-tabs_container.ui-tabs{padding:0;border:1px;border-top-right-radius:4px;border-top-left-radius:4px}.rup-tabs_container.ui-tabs .rupRandomLayerId.ui-tabs-panel{padding:0 .4rem}.rup-tabs_container.ui-tabs ul.ui-tabs-nav{padding:0 0 0 .2rem;background:none;border:none}.rup-tabs_container.ui-tabs ul.ui-tabs-nav li.ui-tabs-tab{border:none;background:transparent}.rup-tabs_container.ui-tabs ul.ui-tabs-nav li.ui-tabs-tab.ui-tabs-active{background:#fff;border:1px solid #ccc;border-bottom:none}.rup-tabs_container.ui-tabs ul.ui-tabs-nav li.ui-tabs-tab.ui-tabs-active a{color:#333}.rup-tabs_container.ui-tabs ul.ui-tabs-nav li.ui-tabs-tab a{color:#204d71;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-width:1px}.rup-time-input-group{display:inline-table;vertical-align:middle}.rup-time-input-group .hasDatepicker{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;display:table-cell}.rup-time-input-group .ui-timepicker-trigger{padding:.1rem .5rem;border-top-left-radius:0;border-bottom-left-radius:0;display:table-cell}.rup-time-input-group .ui-timepicker-trigger *{display:table-cell}.rup-toolbar{padding-top:2px;padding-bottom:2px;background:#e9e9e9;border:1px solid #ccc}.rup-dropdown-btn-group .rup-toolbar .rup-dropdown-button,.rup-toolbar .rup-dropdown-btn-group .rup-dropdown-button,.rup-toolbar .rup-wizard .rup-wizard_submitButton,.rup-toolbar .rup-wizard a.rup-wizard_next,.rup-toolbar .rup-wizard a.rup-wizard_prev,.rup-toolbar .ui-button.rup-button,.rup-toolbar a.rup-toolbar_menuButton.ui-button,.rup-toolbar button,.rup-wizard .rup-toolbar .rup-wizard_submitButton,.rup-wizard .rup-toolbar a.rup-wizard_next,.rup-wizard .rup-toolbar a.rup-wizard_prev{margin-right:5px}.rup-toolbar .rup-button-right{float:right}.rup-toolbar .rup-button-left{float:left}a.rup-toolbar_menuButton.ui-button span{display:inline-flex;padding-bottom:0}.rup-toolbar_menuButtonContainer ul[role=menu]{padding-left:0;padding-bottom:0}.rup-dropdown-btn-group .rup-toolbar_menuButtonContainer ul[role=menu] .rup-toolbar_menuButtonElement.rup-dropdown-button,.rup-toolbar_menuButtonContainer ul[role=menu] .rup-dropdown-btn-group .rup-toolbar_menuButtonElement.rup-dropdown-button,.rup-toolbar_menuButtonContainer ul[role=menu] .rup-toolbar_menuButtonElement.ui-button.rup-button,.rup-toolbar_menuButtonContainer ul[role=menu] .rup-wizard .rup-toolbar_menuButtonElement.rup-wizard_submitButton,.rup-toolbar_menuButtonContainer ul[role=menu] .rup-wizard a.rup-toolbar_menuButtonElement.rup-wizard_next,.rup-toolbar_menuButtonContainer ul[role=menu] .rup-wizard a.rup-toolbar_menuButtonElement.rup-wizard_prev,.rup-toolbar_menuButtonContainer ul[role=menu] a.rup-toolbar_menuButtonElement.rup-toolbar_menuButton.ui-button,.rup-toolbar_menuButtonContainer ul[role=menu] button.rup-toolbar_menuButtonElement,.rup-wizard .rup-toolbar_menuButtonContainer ul[role=menu] .rup-toolbar_menuButtonElement.rup-wizard_submitButton,.rup-wizard .rup-toolbar_menuButtonContainer ul[role=menu] a.rup-toolbar_menuButtonElement.rup-wizard_next,.rup-wizard .rup-toolbar_menuButtonContainer ul[role=menu] a.rup-toolbar_menuButtonElement.rup-wizard_prev{text-align:left}.rup-toolbar-mbutton{position:relative;width:100%;display:inline-table;float:none}#qtip-overlay{left:0;top:0}.rup-wizard_stepsDescContainer{padding:0}.rup-wizard_stepsDescContainer li a{font-size:1.1rem}.rup-wizard_stepsDescContainer-sticky{position:fixed;top:80px;width:100%;z-index:98}.rup-wizard .rup-wizard_submitButton,.rup-wizard a.rup-wizard_next,.rup-wizard a.rup-wizard_prev{width:auto;text-decoration:none;display:flex}.rup-wizard .rup-wizard_submitButton span:after,.rup-wizard a.rup-wizard_next:after,.rup-wizard a.rup-wizard_prev:before{font-size:1.5rem;line-height:1.5rem;font-family:FontAwesome;color:#69c}.rup-wizard fieldset{padding-top:1.5rem}.rup-wizard fieldset.commands-fieldset{border:none;margin:0}.rup-wizard .wizardLegend{color:#b0232a;font-size:1.2rem;font-weight:700}.rup-wizard a.rup-wizard_next:after{content:"\f0da";margin-left:1rem}.rup-wizard a.rup-wizard_prev:before{content:"\f0d9";margin-right:1rem}.rup-wizard .rup-wizard_submitButton span{display:flex}.rup-wizard .rup-wizard_submitButton span:after{content:"\e171";padding-left:.5rem}.grid-stack-item-content{background:#fff none repeat scroll 0 0;color:#2c3e50;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);transition:all .2s ease-in-out}.grid-stack-item-content:hover{box-shadow:0 12px 24px rgba(0,0,0,.19),0 8px 8px rgba(0,0,0,.23)}.grid-stack>.grid-stack-item>.grid-stack-item-content.no-scroll-x{overflow-x:hidden}.grid-stack>.grid-stack-item>.grid-stack-item-content.no-scroll-y{overflow-y:hidden}.grid-stack>.grid-stack-item>.grid-stack-item-content{height:inherit;overflow-y:hidden}.grid-stack>.grid-stack-item>.grid-stack-item-content>.widget{height:inherit}.grid-stack>.grid-stack-item>.grid-stack-item-content>.widget>.widget-body{height:93%;overflow-y:auto;overflow-x:hidden}.loading-modal{opacity:.2}.config-required-modal,.loading-modal{background-color:#000;height:inherit;position:relative;top:0;width:auto;margin-left:10px;margin-right:10px;display:none}.config-required-modal{opacity:.4}.config-required-modal>div,.loading-modal>div{height:inherit;width:inherit}.config-required-modal>div>div,.loading-modal>div>div{vertical-align:middle;color:#fff;text-align:center;width:inherit;height:100%}.config-required-modal>div>div>*,.loading-modal>div>div>span{color:#fff;position:relative;top:15%}.loading-modal>div>div>span{font-size:7em}.widget-header{cursor:move}.blurred-widget-content{-webkit-filter:blur(5px);-moz-filter:blur(5px);-o-filter:blur(5px);-ms-filter:blur(5px);filter:blur(5px)}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);-ms-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);-ms-transform:rotate(1turn);transform:rotate(1turn)}}.fileupload-buttonbar a{text-decoration:none}.template-download.error{background-color:#fdf7f7;border-color:#8b211e}.template-download .error-text{color:#d9534f;font-weight:700}.template-download .type-text{font-style:italic}.template-download .size-text{font-style:italic;padding-left:.5rem}.template-upload.error{background-color:#fdf7f7;border-color:#8b211e}.template-upload .error-text{color:#d9534f;font-weight:700}.template-upload .type-text{font-style:italic}.template-upload .size-text{font-style:italic;padding-left:.5rem}input.error{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center right .5625rem;background-size:1.125rem 1.125rem;padding-right:2rem}.rup-validate-error-icon{color:#d9534f}.rup-validate-field-error{position:relative}.rup-validate-field-error .rup-validate-error-icon{position:absolute;top:0;right:.8rem;line-height:1.9}div.error,label.error,span.error{color:#d9534f;font-style:italic}.widget-header{margin-left:.5em;margin-right:.5em;padding-bottom:.5em;padding-top:.5em;border-image:none;border:0 -moz-use-text-color;border-bottom:1px solid #cbcbcb;text-align:left}.widget-header-title{text-align:left;padding-left:.5em;font-weight:700}.widget-icon{cursor:pointer;color:grey}.widget-icon:hover{color:#000}.widget-icon{margin-left:.5em;margin-right:.5em}.widget-icon-right{float:right}.widget-body{padding:1em}.grid-stack>.grid-stack-item>.ui-resizable-se{background-image:none;background-color:#fff}.grid-stack.rup_dashboard>.grid-stack-item.widget-resize-full{position:fixed;top:1%;left:1%;width:98%;height:95%;z-index:10000}table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable tfoot th,table.dataTable thead th{font-weight:700}table.dataTable thead td,table.dataTable thead th{padding:10px 6px;border-bottom:1px solid #111}table.dataTable thead td:active,table.dataTable thead th:active{outline:none}table.dataTable tfoot td,table.dataTable tfoot th{padding:10px 3px 6px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_desc_disabled{cursor:pointer;*cursor:hand;background-repeat:no-repeat;background-position:100%}table.dataTable thead .sorting{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7XQMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC)}table.dataTable thead .sorting_asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==)}table.dataTable thead .sorting_desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII=)}table.dataTable thead .sorting_asc_disabled{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAW0lEQVQoz2NgoCm4w3Vnwh02wspK7/y6k01Ikdadx3f+37l9RxmfIsY7c4GKQHDiHUbcyhzvvIMq+3THBpci3jv7oIpAcMcdduzKEu/8vPMdDn/eiWQYBYMKAAC3ykIEuYQJUgAAAABJRU5ErkJggg==)}table.dataTable thead .sorting_desc_disabled{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAWUlEQVQoz2NgGAWDCtyJvPPzznc4/HknEbsy9js77vyHw313eHGZZ3PnE1TRuzuOuK1lvDMRqmzuHUZ87lO+cxuo6PEdLUIeyb7z604pYf+y3Zlwh4u2YQoAc7ZCBHH4jigAAAAASUVORK5CYII=)}table.dataTable tbody tr{background-color:#fff}table.dataTable tbody tr.selected.even,table.dataTable tbody tr.selected.odd{background-color:#fffa90}table.dataTable tbody td,table.dataTable tbody th{padding:8px 10px}table.dataTable.display tbody td,table.dataTable.display tbody th,table.dataTable.row-border tbody td,table.dataTable.row-border tbody th{border-top:1px solid #ddd}table.dataTable.display tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.row-border tbody tr:first-child th{border-top:none}table.dataTable.cell-border tbody td,table.dataTable.cell-border tbody th{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr td:first-child,table.dataTable.cell-border tbody tr th:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child td,table.dataTable.cell-border tbody tr:first-child th{border-top:none}table.dataTable.display tbody tr.odd,table.dataTable.stripe tbody tr.odd{background-color:#f9f9f9}table.dataTable.display tbody tr.odd.selected,table.dataTable.stripe tbody tr.odd.selected{background-color:#acbad4}table.dataTable.display tbody tr:hover,table.dataTable.hover tbody tr:hover{background-color:#f6f6f6}table.dataTable.display tbody tr:hover.selected,table.dataTable.hover tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3,table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3,table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:#f5f5f5}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap td,table.dataTable.nowrap th{white-space:nowrap}table.dataTable.compact thead td,table.dataTable.compact thead th{padding:4px 17px 4px 4px}table.dataTable.compact tbody td,table.dataTable.compact tbody th,table.dataTable.compact tfoot td,table.dataTable.compact tfoot th{padding:4px}table.dataTable td.dt-left,table.dataTable th.dt-left{text-align:left}table.dataTable td.dataTables_empty,table.dataTable td.dt-center,table.dataTable th.dt-center{text-align:center}table.dataTable td.dt-right,table.dataTable th.dt-right{text-align:right}table.dataTable td.dt-justify,table.dataTable th.dt-justify{text-align:justify}table.dataTable td.dt-nowrap,table.dataTable th.dt-nowrap{white-space:nowrap}table.dataTable tfoot td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable thead th.dt-head-left{text-align:left}table.dataTable tfoot td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable thead th.dt-head-center{text-align:center}table.dataTable tfoot td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable thead th.dt-head-right{text-align:right}table.dataTable tfoot td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable thead th.dt-head-justify{text-align:justify}table.dataTable tfoot td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable thead th.dt-head-nowrap{white-space:nowrap}table.dataTable tbody td.dt-body-left,table.dataTable tbody th.dt-body-left{text-align:left}table.dataTable tbody td.dt-body-center,table.dataTable tbody th.dt-body-center{text-align:center}table.dataTable tbody td.dt-body-right,table.dataTable tbody th.dt-body-right{text-align:right}table.dataTable tbody td.dt-body-justify,table.dataTable tbody th.dt-body-justify{text-align:justify}table.dataTable tbody td.dt-body-nowrap,table.dataTable tbody th.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable td,table.dataTable th{box-sizing:content-box}.dataTables_wrapper{position:relative;transform:scale(1);transform-origin:0 0;padding-left:2px;padding-right:3px;margin-top:5px}.dataTables_wrapper .dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:.5em}.dataTables_wrapper{clear:both;padding-top:.755em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:.5em .25em;margin-left:2px;text-align:center;text-decoration:none!important;cursor:pointer;*cursor:hand;color:#333!important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333!important;border:1px solid #979797;background-color:#fff;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(100%,#dcdcdc));background:-webkit-linear-gradient(top,#fff,#dcdcdc);background:-moz-linear-gradient(top,#fff 0,#dcdcdc 100%);background:-ms-linear-gradient(top,#fff 0,#dcdcdc 100%);background:-o-linear-gradient(top,#fff 0,#dcdcdc 100%);background:linear-gradient(180deg,#fff 0,#dcdcdc)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover{cursor:default;color:#666!important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:0;left:50%;width:100%;height:99.5%;margin-top:10px;margin-left:-50%;text-align:center;font-size:1.2em;border-width:0;background-color:hsla(0,0%,100%,.75)}.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_paginate,.dataTables_wrapper .dataTables_processing{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing{height:0;overflow:hidden;margin:0!important;padding:0!important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollBody>table,.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width:767px){.dataTables_wrapper .dataTables_paginate{margin-top:.5em}}@media screen and (max-width:640px){.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_length{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:.5em}}tfoot input{width:100%;padding:3px;box-sizing:border-box}tfoot .rup-date-input-group{display:flex}.formulario_legend{border:1px solid silver;margin-left:2px;margin-right:2px;padding-left:9px;padding-right:7px}.dataTables_length label{display:inline-flex}.dataTables_length select{margin:0 5px}.tr-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620;font-weight:700}table.dataTable tbody>tr:hover{background:#b9d4ec!important;font-weight:400}.dataTables_length .ui-multiselect,.dataTables_length .ui-selectmenu-dropdown,.dataTables_length select{margin:0 5px}.dtr-data{display:inline-block}.dataTables_length{float:none}.pagination{margin-bottom:0;justify-content:center;-ms-flex-pack:center}.closeResponsive,.openResponsive{height:14px;width:14px;display:inline-block;margin-right:8px;color:#fff;border:2px solid #fff;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0!important;line-height:14px;content:"+";cursor:pointer}.openResponsive:before{content:"+"}.openResponsive:hover{background-color:#0c4462}.openResponsive{background-color:#1472a4}.closeResponsive:before{content:"-"}.select-checkbox{text-align:center}.select-checkbox input{display:inline-block;vertical-align:inherit;margin-right:3px}.form-control-customer:disabled,.form-control-customer[readonly]{background-color:#eceeef;opacity:1}table.tableFit:not(.DTCR_clonedTable){width:100%!important;max-width:100%;box-sizing:border-box;margin-bottom:0}table.tableFit.DTCR_clonedTable{z-index:10}table.tableFit.DTCR_clonedTable,table.tableFit.DTCR_clonedTable>thead>tr>th:first-child:last-child{border-top-left-radius:0;border-top-right-radius:0}.sProcessingText{position:sticky;top:50%}table.dataTable tbody>tr.selected,table.dataTable tbody>tr>.selected{background-color:#b0bed9}table.dataTable.display tbody>tr.odd.selected,table.dataTable.display tbody>tr.odd>.selected,table.dataTable.stripe tbody>tr.odd.selected,table.dataTable.stripe tbody>tr.odd>.selected{background-color:#acbad4}table.dataTable.display tbody>tr.selected:hover,table.dataTable.display tbody>tr>.selected:hover,table.dataTable.hover tbody>tr.selected:hover,table.dataTable.hover tbody>tr>.selected:hover{background-color:#aab7d1}table.dataTable.display tbody>tr.selected>.sorting_1,table.dataTable.display tbody>tr.selected>.sorting_2,table.dataTable.display tbody>tr.selected>.sorting_3,table.dataTable.display tbody>tr>.selected,table.dataTable.order-column tbody>tr.selected>.sorting_1,table.dataTable.order-column tbody>tr.selected>.sorting_2,table.dataTable.order-column tbody>tr.selected>.sorting_3,table.dataTable.order-column tbody>tr>.selected{background-color:#acbad5}table.dataTable.display tbody>tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody>tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody>tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody>tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody>tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody>tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody>tr.odd>.selected,table.dataTable.order-column.stripe tbody>tr.odd>.selected{background-color:#a6b4cd}table.dataTable.display tbody>tr.even>.selected,table.dataTable.order-column.stripe tbody>tr.even>.selected{background-color:#acbad5}table.dataTable.display tbody>tr.selected:hover>.sorting_1,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody>tr.selected:hover>.sorting_2,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody>tr.selected:hover>.sorting_3,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_3{background-color:#a5b2cb}table.dataTable.display tbody>tr:hover>.selected,table.dataTable.display tbody>tr>.selected:hover,table.dataTable.order-column.hover tbody>tr:hover>.selected,table.dataTable.order-column.hover tbody>tr>.selected:hover{background-color:#a2aec7}div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{margin-left:.5em}@media screen and (max-width:640px){div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{margin-left:0;display:block}}.rup-table_checkmenu_arrow{position:absolute;margin-top:10px;cursor:pointer;background-position:-68px -16px}table.dataTable tfoot th:hover,table.dataTable thead th:hover{background-color:#aecff7}.disabledButtonsTable{pointer-events:none;opacity:.6}.divSelectTableHead{padding-top:3px;padding-left:20px}.selectTableHead{margin:0}.selectTableHead:before{content:"\a0";border:1px solid #000;border-radius:3px;display:block;width:15px;height:15px;margin:0;box-sizing:border-box}.selectTableHeadCheck:after{content:"\2714";display:block;margin-top:-16px;text-align:center;color:#000}@keyframes dtb-spinner{to{transform:rotate(1turn)}}@-o-keyframes dtb-spinner{to{-o-transform:rotate(1turn);transform:rotate(1turn)}}@-ms-keyframes dtb-spinner{to{-ms-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes dtb-spinner{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-moz-keyframes dtb-spinner{to{-moz-transform:rotate(1turn);transform:rotate(1turn)}}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:#fff;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:.5em;margin:0;font-weight:400;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}.dt-button.ui-button.rup-button,.rup-dropdown-btn-group .dt-button.rup-dropdown-button,.rup-wizard .dt-button.rup-wizard_submitButton,.rup-wizard a.dt-button.rup-wizard_next,.rup-wizard a.dt-button.rup-wizard_prev,a.dt-button,a.dt-button.rup-toolbar_menuButton.ui-button,button.dt-button,div.dt-button{position:relative;display:inline-block;box-sizing:border-box;margin-right:.333em;margin-bottom:.333em;padding:.5em 1em;border:1px solid #999;border-radius:2px;cursor:pointer;font-size:.88em;line-height:1.6em;color:#000;white-space:nowrap;overflow:hidden;background-color:#e9e9e9;background-image:-webkit-linear-gradient(top,#fff,#e9e9e9);background-image:-moz-linear-gradient(top,#fff 0,#e9e9e9 100%);background-image:-ms-linear-gradient(top,#fff 0,#e9e9e9 100%);background-image:-o-linear-gradient(top,#fff 0,#e9e9e9 100%);background-image:linear-gradient(180deg,#fff 0,#e9e9e9);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="white",EndColorStr="#e9e9e9");-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;outline:none}.dt-button.disabled.ui-button.rup-button,.rup-dropdown-btn-group .dt-button.disabled.rup-dropdown-button,.rup-wizard .dt-button.disabled.rup-wizard_submitButton,.rup-wizard a.dt-button.disabled.rup-wizard_next,.rup-wizard a.dt-button.disabled.rup-wizard_prev,a.dt-button.disabled,a.dt-button.disabled.rup-toolbar_menuButton.ui-button,button.dt-button.disabled,div.dt-button.disabled{color:#999;border:1px solid #d0d0d0;cursor:default;background-color:#f9f9f9;background-image:-webkit-linear-gradient(top,#fff,#f9f9f9);background-image:-moz-linear-gradient(top,#fff 0,#f9f9f9 100%);background-image:-ms-linear-gradient(top,#fff 0,#f9f9f9 100%);background-image:-o-linear-gradient(top,#fff 0,#f9f9f9 100%);background-image:linear-gradient(180deg,#fff 0,#f9f9f9);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="#ffffff",EndColorStr="#f9f9f9")}.dt-button.active.ui-button.rup-button:not(.disabled),.dt-button.ui-button.rup-button:active:not(.disabled),.rup-dropdown-btn-group .dt-button.active.rup-dropdown-button:not(.disabled),.rup-dropdown-btn-group .dt-button.rup-dropdown-button:active:not(.disabled),.rup-wizard .dt-button.active.rup-wizard_submitButton:not(.disabled),.rup-wizard .dt-button.rup-wizard_submitButton:active:not(.disabled),.rup-wizard a.dt-button.active.rup-wizard_next:not(.disabled),.rup-wizard a.dt-button.active.rup-wizard_prev:not(.disabled),.rup-wizard a.dt-button.rup-wizard_next:active:not(.disabled),.rup-wizard a.dt-button.rup-wizard_prev:active:not(.disabled),a.dt-button.active.rup-toolbar_menuButton.ui-button:not(.disabled),a.dt-button.active:not(.disabled),a.dt-button.rup-toolbar_menuButton.ui-button:active:not(.disabled),a.dt-button:active:not(.disabled),button.dt-button.active:not(.disabled),button.dt-button:active:not(.disabled),div.dt-button.active:not(.disabled),div.dt-button:active:not(.disabled){background-color:#e2e2e2;background-image:-webkit-linear-gradient(top,#f3f3f3,#e2e2e2);background-image:-moz-linear-gradient(top,#f3f3f3 0,#e2e2e2 100%);background-image:-ms-linear-gradient(top,#f3f3f3 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#f3f3f3 0,#e2e2e2 100%);background-image:linear-gradient(180deg,#f3f3f3 0,#e2e2e2);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="#f3f3f3",EndColorStr="#e2e2e2");box-shadow:inset 1px 1px 3px #999}.dt-button.active.ui-button.rup-button:not(.disabled):hover:not(.disabled),.dt-button.ui-button.rup-button:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group .dt-button.active.rup-dropdown-button:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group .dt-button.rup-dropdown-button:active:not(.disabled):hover:not(.disabled),.rup-wizard .dt-button.active.rup-wizard_submitButton:not(.disabled):hover:not(.disabled),.rup-wizard .dt-button.rup-wizard_submitButton:active:not(.disabled):hover:not(.disabled),.rup-wizard a.dt-button.active.rup-wizard_next:not(.disabled):hover:not(.disabled),.rup-wizard a.dt-button.active.rup-wizard_prev:not(.disabled):hover:not(.disabled),.rup-wizard a.dt-button.rup-wizard_next:active:not(.disabled):hover:not(.disabled),.rup-wizard a.dt-button.rup-wizard_prev:active:not(.disabled):hover:not(.disabled),a.dt-button.active.rup-toolbar_menuButton.ui-button:not(.disabled):hover:not(.disabled),a.dt-button.active:not(.disabled):hover:not(.disabled),a.dt-button.rup-toolbar_menuButton.ui-button:active:not(.disabled):hover:not(.disabled),a.dt-button:active:not(.disabled):hover:not(.disabled),button.dt-button.active:not(.disabled):hover:not(.disabled),button.dt-button:active:not(.disabled):hover:not(.disabled),div.dt-button.active:not(.disabled):hover:not(.disabled),div.dt-button:active:not(.disabled):hover:not(.disabled){box-shadow:inset 1px 1px 3px #999;background-color:#ccc;background-image:-webkit-linear-gradient(top,#eaeaea,#ccc);background-image:-moz-linear-gradient(top,#eaeaea 0,#ccc 100%);background-image:-ms-linear-gradient(top,#eaeaea 0,#ccc 100%);background-image:-o-linear-gradient(top,#eaeaea 0,#ccc 100%);background-image:linear-gradient(180deg,#eaeaea 0,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="#eaeaea",EndColorStr="#cccccc")}.dt-button.ui-button.rup-button:hover,.rup-dropdown-btn-group .dt-button.rup-dropdown-button:hover,.rup-wizard .dt-button.rup-wizard_submitButton:hover,.rup-wizard a.dt-button.rup-wizard_next:hover,.rup-wizard a.dt-button.rup-wizard_prev:hover,a.dt-button.rup-toolbar_menuButton.ui-button:hover,a.dt-button:hover,button.dt-button:hover,div.dt-button:hover{text-decoration:none}.dt-button.ui-button.rup-button:hover:not(.disabled),.rup-dropdown-btn-group .dt-button.rup-dropdown-button:hover:not(.disabled),.rup-wizard .dt-button.rup-wizard_submitButton:hover:not(.disabled),.rup-wizard a.dt-button.rup-wizard_next:hover:not(.disabled),.rup-wizard a.dt-button.rup-wizard_prev:hover:not(.disabled),a.dt-button.rup-toolbar_menuButton.ui-button:hover:not(.disabled),a.dt-button:hover:not(.disabled),button.dt-button:hover:not(.disabled),div.dt-button:hover:not(.disabled){border:1px solid #666;background-color:#e0e0e0;background-image:-webkit-linear-gradient(top,#f9f9f9,#e0e0e0);background-image:-moz-linear-gradient(top,#f9f9f9 0,#e0e0e0 100%);background-image:-ms-linear-gradient(top,#f9f9f9 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#f9f9f9 0,#e0e0e0 100%);background-image:linear-gradient(180deg,#f9f9f9 0,#e0e0e0);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="#f9f9f9",EndColorStr="#e0e0e0")}.dt-button.ui-button.rup-button:focus:not(.disabled),.rup-dropdown-btn-group .dt-button.rup-dropdown-button:focus:not(.disabled),.rup-wizard .dt-button.rup-wizard_submitButton:focus:not(.disabled),.rup-wizard a.dt-button.rup-wizard_next:focus:not(.disabled),.rup-wizard a.dt-button.rup-wizard_prev:focus:not(.disabled),a.dt-button.rup-toolbar_menuButton.ui-button:focus:not(.disabled),a.dt-button:focus:not(.disabled),button.dt-button:focus:not(.disabled),div.dt-button:focus:not(.disabled){border:1px solid #426c9e;text-shadow:0 1px 0 #c4def1;outline:none;background-color:#79ace9;background-image:-webkit-linear-gradient(top,#bddef4,#79ace9);background-image:-moz-linear-gradient(top,#bddef4 0,#79ace9 100%);background-image:-ms-linear-gradient(top,#bddef4 0,#79ace9 100%);background-image:-o-linear-gradient(top,#bddef4 0,#79ace9 100%);background-image:linear-gradient(180deg,#bddef4 0,#79ace9);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="#bddef4",EndColorStr="#79ace9")}.dt-button embed{outline:none}div.dt-buttons{position:relative;border-radius:5px}div.dt-buttons.buttons-right{float:right}div.dt-button-collection{position:absolute;top:0;left:0;width:110px;margin-top:3px;padding:8px;border:1px solid #ccc;border:1px solid rgba(0,0,0,.4);background-color:#fff;overflow:hidden;border-radius:5px;box-shadow:3px 3px 5px rgba(0,0,0,.3);z-index:2002;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}.rup-dropdown-btn-group div.dt-button-collection>.rup-dropdown-button,.rup-wizard div.dt-button-collection>.rup-wizard_submitButton,.rup-wizard div.dt-button-collection>a.rup-wizard_next,.rup-wizard div.dt-button-collection>a.rup-wizard_prev,div.dt-button-collection>.ui-button.rup-button,div.dt-button-collection>a.rup-toolbar_menuButton.ui-button,div.dt-button-collection>button{display:block;margin:auto;width:100%;text-align:left}.rup-dropdown-btn-group div.dt-button-collection>.rup-dropdown-button:not(:last-child),.rup-wizard div.dt-button-collection>.rup-wizard_submitButton:not(:last-child),.rup-wizard div.dt-button-collection>a.rup-wizard_next:not(:last-child),.rup-wizard div.dt-button-collection>a.rup-wizard_prev:not(:last-child),div.dt-button-collection>.ui-button.rup-button:not(:last-child),div.dt-button-collection>a.rup-toolbar_menuButton.ui-button:not(:last-child),div.dt-button-collection>button:not(:last-child){margin-bottom:4px}.rup-dropdown-btn-group div.dt-button-collection .dt-button.rup-dropdown-button,.rup-wizard div.dt-button-collection .dt-button.rup-wizard_submitButton,.rup-wizard div.dt-button-collection a.dt-button.rup-wizard_next,.rup-wizard div.dt-button-collection a.dt-button.rup-wizard_prev,div.dt-button-collection .dt-button.ui-button.rup-button,div.dt-button-collection .rup-dropdown-btn-group .dt-button.rup-dropdown-button,div.dt-button-collection .rup-wizard .dt-button.rup-wizard_submitButton,div.dt-button-collection .rup-wizard a.dt-button.rup-wizard_next,div.dt-button-collection .rup-wizard a.dt-button.rup-wizard_prev,div.dt-button-collection a.dt-button,div.dt-button-collection a.dt-button.rup-toolbar_menuButton.ui-button,div.dt-button-collection button.dt-button,div.dt-button-collection div.dt-button{position:relative;left:0;right:0;width:100%;display:block;float:none;margin-bottom:4px;margin-right:0}.rup-dropdown-btn-group div.dt-button-collection .dt-button.active.rup-dropdown-button:not(.disabled),.rup-dropdown-btn-group div.dt-button-collection .dt-button.rup-dropdown-button:active:not(.disabled),.rup-wizard div.dt-button-collection .dt-button.active.rup-wizard_submitButton:not(.disabled),.rup-wizard div.dt-button-collection .dt-button.rup-wizard_submitButton:active:not(.disabled),.rup-wizard div.dt-button-collection a.dt-button.active.rup-wizard_next:not(.disabled),.rup-wizard div.dt-button-collection a.dt-button.active.rup-wizard_prev:not(.disabled),.rup-wizard div.dt-button-collection a.dt-button.rup-wizard_next:active:not(.disabled),.rup-wizard div.dt-button-collection a.dt-button.rup-wizard_prev:active:not(.disabled),div.dt-button-collection .dt-button.active.ui-button.rup-button:not(.disabled),div.dt-button-collection .dt-button.ui-button.rup-button:active:not(.disabled),div.dt-button-collection .rup-dropdown-btn-group .dt-button.active.rup-dropdown-button:not(.disabled),div.dt-button-collection .rup-dropdown-btn-group .dt-button.rup-dropdown-button:active:not(.disabled),div.dt-button-collection .rup-wizard .dt-button.active.rup-wizard_submitButton:not(.disabled),div.dt-button-collection .rup-wizard .dt-button.rup-wizard_submitButton:active:not(.disabled),div.dt-button-collection .rup-wizard a.dt-button.active.rup-wizard_next:not(.disabled),div.dt-button-collection .rup-wizard a.dt-button.active.rup-wizard_prev:not(.disabled),div.dt-button-collection .rup-wizard a.dt-button.rup-wizard_next:active:not(.disabled),div.dt-button-collection .rup-wizard a.dt-button.rup-wizard_prev:active:not(.disabled),div.dt-button-collection a.dt-button.active.rup-toolbar_menuButton.ui-button:not(.disabled),div.dt-button-collection a.dt-button.active:not(.disabled),div.dt-button-collection a.dt-button.rup-toolbar_menuButton.ui-button:active:not(.disabled),div.dt-button-collection a.dt-button:active:not(.disabled),div.dt-button-collection button.dt-button.active:not(.disabled),div.dt-button-collection button.dt-button:active:not(.disabled),div.dt-button-collection div.dt-button.active:not(.disabled),div.dt-button-collection div.dt-button:active:not(.disabled){background-color:#dadada;background-image:-webkit-linear-gradient(top,#f0f0f0,#dadada);background-image:-moz-linear-gradient(top,#f0f0f0 0,#dadada 100%);background-image:-ms-linear-gradient(top,#f0f0f0 0,#dadada 100%);background-image:-o-linear-gradient(top,#f0f0f0 0,#dadada 100%);background-image:linear-gradient(180deg,#f0f0f0 0,#dadada);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="#f0f0f0",EndColorStr="#dadada");box-shadow:inset 1px 1px 3px #666}div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.fixed.two-column{margin-left:-150px}div.dt-button-collection.fixed.three-column{margin-left:-225px}div.dt-button-collection.fixed.four-column{margin-left:-300px}div.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-collection .dt-button{border-radius:0}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);background:-ms-radial-gradient(center,ellipse farthest-corner,rgba(0,0,0,.3) 0,rgba(0,0,0,.7) 100%);background:-moz-radial-gradient(center,ellipse farthest-corner,rgba(0,0,0,.3) 0,rgba(0,0,0,.7) 100%);background:-o-radial-gradient(center,ellipse farthest-corner,rgba(0,0,0,.3) 0,rgba(0,0,0,.7) 100%);background:-webkit-gradient(radial,center center,0,center center,497,color-stop(0,rgba(0,0,0,.3)),color-stop(1,rgba(0,0,0,.7)));background:-webkit-radial-gradient(center,ellipse farthest-corner,rgba(0,0,0,.3) 0,rgba(0,0,0,.7) 100%);background:radial-gradient(ellipse farthest-corner at center,rgba(0,0,0,.3) 0,rgba(0,0,0,.7) 100%);z-index:2001}@media screen and (max-width:640px){div.dt-buttons{text-align:center}}@media screen and (max-width:575px){.rup-dropdown-btn-group div.dt-buttons>.rup-dropdown-button,.rup-wizard div.dt-buttons>.rup-wizard_submitButton,.rup-wizard div.dt-buttons>a.rup-wizard_next,.rup-wizard div.dt-buttons>a.rup-wizard_prev,div.dt-buttons>.ui-button.rup-button,div.dt-buttons>a.rup-toolbar_menuButton.ui-button,div.dt-buttons>button{margin:3px}}.dt-button.processing.ui-button.rup-button,.rup-dropdown-btn-group .dt-button.processing.rup-dropdown-button,.rup-wizard .dt-button.processing.rup-wizard_submitButton,.rup-wizard a.dt-button.processing.rup-wizard_next,.rup-wizard a.dt-button.processing.rup-wizard_prev,a.dt-button.processing,a.dt-button.processing.rup-toolbar_menuButton.ui-button,button.dt-button.processing,div.dt-button.processing{color:rgba(0,0,0,.2)}.dt-button.processing.ui-button.rup-button:after,.rup-dropdown-btn-group .dt-button.processing.rup-dropdown-button:after,.rup-wizard .dt-button.processing.rup-wizard_submitButton:after,.rup-wizard a.dt-button.processing.rup-wizard_next:after,.rup-wizard a.dt-button.processing.rup-wizard_prev:after,a.dt-button.processing.rup-toolbar_menuButton.ui-button:after,a.dt-button.processing:after,button.dt-button.processing:after,div.dt-button.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:"\a0";border-radius:50%;border-color:#282828 transparent;border-style:solid;border-width:2px;animation:dtb-spinner 1.5s linear infinite;-o-animation:dtb-spinner 1.5s infinite linear;-ms-animation:dtb-spinner 1.5s infinite linear;-webkit-animation:dtb-spinner 1.5s linear infinite;-moz-animation:dtb-spinner 1.5s infinite linear}.dt-buttons{width:100%;margin:15px 0;padding:6px;background-color:#e9e9e9}.dt-button{margin-top:.333em}.align-right{float:right}.right-separator{margin-right:5px}.rup-dropdown-button,.rup-filtrar{color:#fff!important;background-color:#007bff!important;border-color:#007bff!important}ul.dtr-details .dtr-title{display:block;font-weight:700}ul.dtr-details .dtr-data{max-width:300px;width:90%}@keyframes fadein{0%{opacity:0}to{opacity:1}}@-moz-keyframes fadein{0%{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{0%{opacity:0}to{opacity:1}}@-ms-keyframes fadein{0%{opacity:0}to{opacity:1}}.app-primary-color{background-color:#1472a4!important}footer .footer-row-content{background-color:#1472a4}fieldset{border-radius:5px}.btn-material[class*=primary-high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-high-emphasis],div.dt-buttons button.btn-material[class*=primary-high-emphasis]{background-color:#1472a4}.btn-material[class*=primary-high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-high-emphasis]:hover,div.dt-buttons button.btn-material[class*=primary-high-emphasis]:hover{background-color:#1472a4;border-color:#1472a4}.btn-material[class*=primary-high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-high-emphasis]:active,div.dt-buttons button.btn-material[class*=primary-high-emphasis]:active{border-color:#1472a4}.btn-material[class*=primary-high-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-high-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-high-emphasis]:focus,div.dt-buttons button.btn-material[class*=primary-high-emphasis]:focus{background-color:#1472a4;background-color:#0c4462}.btn-material[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#1472a4}.btn-material[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons button.btn-material[class*=primary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus{background-color:#0c4462;border-color:#1472a4}.btn-material[class*=secondary-high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-high-emphasis],div.dt-buttons button.btn-material[class*=secondary-high-emphasis]{background-color:#6c757d}.btn-material[class*=secondary-high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-high-emphasis]:hover,div.dt-buttons button.btn-material[class*=secondary-high-emphasis]:hover{background-color:#6c757d;border-color:#6c757d}.btn-material[class*=secondary-high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-high-emphasis]:active,div.dt-buttons button.btn-material[class*=secondary-high-emphasis]:active{border-color:#6c757d}.btn-material[class*=secondary-high-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-high-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-high-emphasis]:focus,div.dt-buttons button.btn-material[class*=secondary-high-emphasis]:focus{background-color:#6c757d;background-color:#40464b}.btn-material[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#6c757d}.btn-material[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons button.btn-material[class*=secondary-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus{background-color:#40464b;border-color:#6c757d}.btn-material[class*=success-high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=success-high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-high-emphasis],div.dt-buttons button.btn-material[class*=success-high-emphasis]{background-color:#4caf50}.btn-material[class*=success-high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-high-emphasis]:hover,div.dt-buttons button.btn-material[class*=success-high-emphasis]:hover{background-color:#4caf50;border-color:#4caf50}.btn-material[class*=success-high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-high-emphasis]:active,div.dt-buttons button.btn-material[class*=success-high-emphasis]:active{border-color:#4caf50}.btn-material[class*=success-high-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-high-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-high-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-high-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-high-emphasis]:focus,div.dt-buttons button.btn-material[class*=success-high-emphasis]:focus{background-color:#4caf50;background-color:#2d6930}.btn-material[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#4caf50}.btn-material[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons button.btn-material[class*=success-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus{background-color:#2d6930;border-color:#4caf50}.btn-material[class*=danger-high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-high-emphasis],div.dt-buttons button.btn-material[class*=danger-high-emphasis]{background-color:#dc3545}.btn-material[class*=danger-high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-high-emphasis]:hover,div.dt-buttons button.btn-material[class*=danger-high-emphasis]:hover{background-color:#dc3545;border-color:#dc3545}.btn-material[class*=danger-high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-high-emphasis]:active,div.dt-buttons button.btn-material[class*=danger-high-emphasis]:active{border-color:#dc3545}.btn-material[class*=danger-high-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-high-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-high-emphasis]:focus,div.dt-buttons button.btn-material[class*=danger-high-emphasis]:focus{background-color:#dc3545;background-color:#841f29}.btn-material[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#dc3545}.btn-material[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons button.btn-material[class*=danger-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus{background-color:#841f29;border-color:#dc3545}.btn-material[class*=warning-dark-high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-high-emphasis],div.dt-buttons button.btn-material[class*=warning-dark-high-emphasis]{background-color:#ffc107}.btn-material[class*=warning-dark-high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-high-emphasis]:hover,div.dt-buttons button.btn-material[class*=warning-dark-high-emphasis]:hover{background-color:#ffc107;border-color:#ffc107}.btn-material[class*=warning-dark-high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-high-emphasis]:active,div.dt-buttons button.btn-material[class*=warning-dark-high-emphasis]:active{border-color:#ffc107}.btn-material[class*=warning-dark-high-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-high-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-high-emphasis]:focus,div.dt-buttons button.btn-material[class*=warning-dark-high-emphasis]:focus{background-color:#ffc107;background-color:#997304}.btn-material[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#ffc107}.btn-material[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons button.btn-material[class*=warning-dark-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus{background-color:#997304;border-color:#ffc107}.btn-material[class*=info-high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=info-high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-high-emphasis],div.dt-buttons button.btn-material[class*=info-high-emphasis]{background-color:#138496}.btn-material[class*=info-high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-high-emphasis]:hover,div.dt-buttons button.btn-material[class*=info-high-emphasis]:hover{background-color:#138496;border-color:#138496}.btn-material[class*=info-high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-high-emphasis]:active,div.dt-buttons button.btn-material[class*=info-high-emphasis]:active{border-color:#138496}.btn-material[class*=info-high-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-high-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-high-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-high-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-high-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-high-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-high-emphasis]:focus,div.dt-buttons button.btn-material[class*=info-high-emphasis]:focus{background-color:#138496;background-color:#0b4f5a}.btn-material[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#138496}.btn-material[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus,div.dt-buttons button.btn-material[class*=info-high-emphasis]:active:not(.disabled):hover:not(.disabled):focus{background-color:#0b4f5a;border-color:#138496}.btn-material[class*=primary-medium-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-medium-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-medium-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-medium-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-medium-emphasis],div.dt-buttons button.btn-material[class*=primary-medium-emphasis]{color:#1472a4}.btn-material[class*=primary-medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=primary-medium-emphasis]:hover{background-color:#72aac8;border-color:#72aac8;color:#fff}.btn-material[class*=primary-medium-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-medium-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-medium-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-medium-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-medium-emphasis]:focus,div.dt-buttons button.btn-material[class*=primary-medium-emphasis]:focus{background-color:#428eb6;border-color:#428eb6;color:#fff}.btn-material[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=primary-medium-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#428eb6}.btn-material[class*=secondary-medium-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-medium-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-medium-emphasis],div.dt-buttons button.btn-material[class*=secondary-medium-emphasis]{color:#6c757d}.btn-material[class*=secondary-medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=secondary-medium-emphasis]:hover{background-color:#a6acb1;border-color:#a6acb1;color:#fff}.btn-material[class*=secondary-medium-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-medium-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-medium-emphasis]:focus,div.dt-buttons button.btn-material[class*=secondary-medium-emphasis]:focus{background-color:#899097;border-color:#899097;color:#fff}.btn-material[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=secondary-medium-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#899097}.btn-material[class*=success-medium-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-medium-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-medium-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=success-medium-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-medium-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-medium-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-medium-emphasis],div.dt-buttons button.btn-material[class*=success-medium-emphasis]{color:#4caf50}.btn-material[class*=success-medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=success-medium-emphasis]:hover{background-color:#93cf96;border-color:#93cf96;color:#fff}.btn-material[class*=success-medium-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-medium-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-medium-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-medium-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-medium-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-medium-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-medium-emphasis]:focus,div.dt-buttons button.btn-material[class*=success-medium-emphasis]:focus{background-color:#6fbf72;border-color:#6fbf72;color:#fff}.btn-material[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=success-medium-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#6fbf72}.btn-material[class*=danger-medium-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-medium-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-medium-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-medium-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-medium-emphasis],div.dt-buttons button.btn-material[class*=danger-medium-emphasis]{color:#dc3545}.btn-material[class*=danger-medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=danger-medium-emphasis]:hover{background-color:#ea858f;border-color:#ea858f;color:#fff}.btn-material[class*=danger-medium-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-medium-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-medium-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-medium-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-medium-emphasis]:focus,div.dt-buttons button.btn-material[class*=danger-medium-emphasis]:focus{background-color:#e35d6a;border-color:#e35d6a;color:#fff}.btn-material[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=danger-medium-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#e35d6a}.btn-material[class*=warning-dark-medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=warning-dark-medium-emphasis]:hover{background-color:#ffd96a;border-color:#ffd96a}.btn-material[class*=warning-dark-medium-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-medium-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-medium-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-medium-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-medium-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-medium-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-medium-emphasis]:focus,div.dt-buttons button.btn-material[class*=warning-dark-medium-emphasis]:focus{background-color:#ffcd38;border-color:#ffcd38}.btn-material[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=warning-dark-medium-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#ffcd38}.btn-material[class*=info-medium-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-medium-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-medium-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=info-medium-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-medium-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-medium-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-medium-emphasis],div.dt-buttons button.btn-material[class*=info-medium-emphasis]{color:#138496}.btn-material[class*=info-medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=info-medium-emphasis]:hover{background-color:#71b5c0;border-color:#71b5c0;color:#fff}.btn-material[class*=info-medium-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-medium-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-medium-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-medium-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-medium-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-medium-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-medium-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-medium-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-medium-emphasis]:focus,div.dt-buttons button.btn-material[class*=info-medium-emphasis]:focus{background-color:#429cab;border-color:#429cab;color:#fff}.btn-material[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=info-medium-emphasis]:active:not(.disabled):hover:not(.disabled){background-color:#429cab}.btn-material[class*=primary-low-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-low-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-low-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-low-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-low-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-low-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-low-emphasis],div.dt-buttons button.btn-material[class*=primary-low-emphasis]{color:#1472a4}.btn-material[class*=primary-low-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-low-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-low-emphasis]:hover,div.dt-buttons button.btn-material[class*=primary-low-emphasis]:hover{background-color:#72aac8;border-color:#72aac8;color:#fff}.btn-material[class*=primary-low-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-low-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-low-emphasis]:active,div.dt-buttons button.btn-material[class*=primary-low-emphasis]:active{background-color:#428eb6}.btn-material[class*=primary-low-emphasis]:active:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:active:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:active:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-low-emphasis]:active:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:active:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:active:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-low-emphasis]:active:focus,div.dt-buttons button.btn-material[class*=primary-low-emphasis]:active:focus{color:#fff}.btn-material[class*=primary-low-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=primary-low-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=primary-low-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=primary-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=primary-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=primary-low-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=primary-low-emphasis]:focus,div.dt-buttons button.btn-material[class*=primary-low-emphasis]:focus{border:2px solid #428eb6}.btn-material[class*=secondary-low-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-low-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-low-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-low-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-low-emphasis],div.dt-buttons button.btn-material[class*=secondary-low-emphasis]{color:#6c757d}.btn-material[class*=secondary-low-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-low-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-low-emphasis]:hover,div.dt-buttons button.btn-material[class*=secondary-low-emphasis]:hover{background-color:#a6acb1;border-color:#a6acb1;color:#fff}.btn-material[class*=secondary-low-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-low-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-low-emphasis]:active,div.dt-buttons button.btn-material[class*=secondary-low-emphasis]:active{background-color:#899097}.btn-material[class*=secondary-low-emphasis]:active:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:active:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:active:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-low-emphasis]:active:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:active:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:active:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-low-emphasis]:active:focus,div.dt-buttons button.btn-material[class*=secondary-low-emphasis]:active:focus{color:#fff}.btn-material[class*=secondary-low-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=secondary-low-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=secondary-low-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=secondary-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=secondary-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=secondary-low-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=secondary-low-emphasis]:focus,div.dt-buttons button.btn-material[class*=secondary-low-emphasis]:focus{border:2px solid #899097}.btn-material[class*=success-low-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-low-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-low-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=success-low-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-low-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-low-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-low-emphasis],div.dt-buttons button.btn-material[class*=success-low-emphasis]{color:#4caf50}.btn-material[class*=success-low-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-low-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-low-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-low-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-low-emphasis]:hover,div.dt-buttons button.btn-material[class*=success-low-emphasis]:hover{background-color:#93cf96;border-color:#93cf96;color:#fff}.btn-material[class*=success-low-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-low-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-low-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-low-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-low-emphasis]:active,div.dt-buttons button.btn-material[class*=success-low-emphasis]:active{background-color:#6fbf72}.btn-material[class*=success-low-emphasis]:active:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-low-emphasis]:active:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:active:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-low-emphasis]:active:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-low-emphasis]:active:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:active:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-low-emphasis]:active:focus,div.dt-buttons button.btn-material[class*=success-low-emphasis]:active:focus{color:#fff}.btn-material[class*=success-low-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=success-low-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=success-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=success-low-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=success-low-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=success-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=success-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=success-low-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=success-low-emphasis]:focus,div.dt-buttons button.btn-material[class*=success-low-emphasis]:focus{border:2px solid #6fbf72}.btn-material[class*=danger-low-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-low-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-low-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-low-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-low-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-low-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-low-emphasis],div.dt-buttons button.btn-material[class*=danger-low-emphasis]{color:#dc3545}.btn-material[class*=danger-low-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-low-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-low-emphasis]:hover,div.dt-buttons button.btn-material[class*=danger-low-emphasis]:hover{background-color:#ea858f;border-color:#ea858f;color:#fff}.btn-material[class*=danger-low-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-low-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-low-emphasis]:active,div.dt-buttons button.btn-material[class*=danger-low-emphasis]:active{background-color:#e35d6a}.btn-material[class*=danger-low-emphasis]:active:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:active:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:active:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-low-emphasis]:active:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:active:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:active:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-low-emphasis]:active:focus,div.dt-buttons button.btn-material[class*=danger-low-emphasis]:active:focus{color:#fff}.btn-material[class*=danger-low-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=danger-low-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=danger-low-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=danger-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=danger-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=danger-low-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=danger-low-emphasis]:focus,div.dt-buttons button.btn-material[class*=danger-low-emphasis]:focus{border:2px solid #e35d6a}.btn-material[class*=warning-dark-low-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-low-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-low-emphasis],div.dt-buttons button.btn-material[class*=warning-dark-low-emphasis]{color:#212529}.btn-material[class*=warning-dark-low-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-low-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-low-emphasis]:hover,div.dt-buttons button.btn-material[class*=warning-dark-low-emphasis]:hover{background-color:#ffd96a;border-color:#ffd96a}.btn-material[class*=warning-dark-low-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-low-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-low-emphasis]:active,div.dt-buttons button.btn-material[class*=warning-dark-low-emphasis]:active{background-color:#ffcd38}.btn-material[class*=warning-dark-low-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=warning-dark-low-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=warning-dark-low-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=warning-dark-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=warning-dark-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=warning-dark-low-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=warning-dark-low-emphasis]:focus,div.dt-buttons button.btn-material[class*=warning-dark-low-emphasis]:focus{border:2px solid #ffcd38}.btn-material[class*=info-low-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-low-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-low-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=info-low-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-low-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-low-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-low-emphasis],div.dt-buttons button.btn-material[class*=info-low-emphasis]{color:#138496}.btn-material[class*=info-low-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-low-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-low-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-low-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-low-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-low-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-low-emphasis]:hover,div.dt-buttons button.btn-material[class*=info-low-emphasis]:hover{background-color:#71b5c0;border-color:#71b5c0;color:#fff}.btn-material[class*=info-low-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-low-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-low-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-low-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-low-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-low-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-low-emphasis]:active,div.dt-buttons button.btn-material[class*=info-low-emphasis]:active{background-color:#429cab}.btn-material[class*=info-low-emphasis]:active:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-low-emphasis]:active:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-low-emphasis]:active:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:active:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-low-emphasis]:active:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-low-emphasis]:active:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-low-emphasis]:active:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:active:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-low-emphasis]:active:focus,div.dt-buttons button.btn-material[class*=info-low-emphasis]:active:focus{color:#fff}.btn-material[class*=info-low-emphasis]:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=info-low-emphasis]:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=info-low-emphasis]:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:focus,div.dt-buttons .btn-material.ui-button.rup-button[class*=info-low-emphasis]:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=info-low-emphasis]:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=info-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=info-low-emphasis]:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=info-low-emphasis]:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=info-low-emphasis]:focus,div.dt-buttons button.btn-material[class*=info-low-emphasis]:focus{border:2px solid #429cab}.btn-material[class*=high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=high-emphasis],div.dt-buttons button.btn-material[class*=high-emphasis]{color:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.btn-material[class*=high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=high-emphasis]:hover,div.dt-buttons button.btn-material[class*=high-emphasis]:hover{color:#fff;opacity:.9;box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2)}.btn-material[class*=high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=high-emphasis]:active,div.dt-buttons button.btn-material[class*=high-emphasis]:active{color:#fff;opacity:.5;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.btn-material[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=high-emphasis]:active:not(.disabled):hover:not(.disabled){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.btn-material[class*=dark-high-emphasis],.btn-material[class*=dark-high-emphasis]:active,.btn-material[class*=dark-high-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=dark-high-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=dark-high-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=dark-high-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=dark-high-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=dark-high-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=dark-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=dark-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=dark-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=dark-high-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=dark-high-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=dark-high-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=dark-high-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=dark-high-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=dark-high-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=dark-high-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=dark-high-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=dark-high-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=dark-high-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=dark-high-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=dark-high-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=dark-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=dark-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=dark-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=dark-high-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=dark-high-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=dark-high-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=dark-high-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=dark-high-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=dark-high-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=dark-high-emphasis]:hover,div.dt-buttons button.btn-material[class*=dark-high-emphasis],div.dt-buttons button.btn-material[class*=dark-high-emphasis]:active,div.dt-buttons button.btn-material[class*=dark-high-emphasis]:hover{color:#212529}.btn-material[class*=medium-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=medium-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=medium-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=medium-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=medium-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=medium-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=medium-emphasis],div.dt-buttons button.btn-material[class*=medium-emphasis]{background-color:#fff;border-color:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.btn-material[class*=medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=medium-emphasis]:hover{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2)}.btn-material[class*=medium-emphasis]:active,.btn-material[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=medium-emphasis]:active,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=medium-emphasis]:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=medium-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=medium-emphasis]:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button[class*=medium-emphasis]:active,div.dt-buttons .btn-material.ui-button.rup-button[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=medium-emphasis]:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=medium-emphasis]:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=medium-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=medium-emphasis]:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=medium-emphasis]:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material[class*=medium-emphasis]:active,div.dt-buttons button.btn-material[class*=medium-emphasis]:active:not(.disabled):hover:not(.disabled){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.btn-material[class*=dark-medium-emphasis],.btn-material[class*=dark-medium-emphasis]:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=dark-medium-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=dark-medium-emphasis]:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=dark-medium-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=dark-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=dark-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=dark-medium-emphasis]:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=dark-medium-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=dark-medium-emphasis]:hover,div.dt-buttons .btn-material.ui-button.rup-button[class*=dark-medium-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=dark-medium-emphasis]:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=dark-medium-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=dark-medium-emphasis]:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=dark-medium-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=dark-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=dark-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=dark-medium-emphasis]:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=dark-medium-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=dark-medium-emphasis]:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=dark-medium-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=dark-medium-emphasis]:hover,div.dt-buttons button.btn-material[class*=dark-medium-emphasis],div.dt-buttons button.btn-material[class*=dark-medium-emphasis]:hover{color:#212529}.btn-material[class*=low-emphasis],.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=low-emphasis],.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=low-emphasis],.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=low-emphasis],div.dt-buttons .btn-material.ui-button.rup-button[class*=low-emphasis],div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=low-emphasis],div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=low-emphasis],div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=low-emphasis],div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=low-emphasis],div.dt-buttons button.btn-material[class*=low-emphasis]{border-color:transparent}.btn-material,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev,div.dt-buttons .btn-material.ui-button.rup-button,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button,div.dt-buttons button.btn-material{min-width:64px;height:30px;padding:6px 10px;border:2px solid transparent;border-radius:4px;font-size:.9rem!important;font-weight:400;letter-spacing:normal;line-height:.7;text-decoration:none;text-transform:uppercase;box-sizing:border-box}.btn-material:hover,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev:hover,div.dt-buttons .btn-material.ui-button.rup-button:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button:hover,div.dt-buttons button.btn-material:hover{border:2px solid transparent}.btn-material:focus,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev:focus,div.dt-buttons .btn-material.ui-button.rup-button:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button:focus,div.dt-buttons button.btn-material:focus{outline:none}.btn-material.disabled,.btn-material:disabled,.rup-dropdown-btn-group div.dt-buttons .btn-material.disabled.rup-dropdown-button,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button:disabled,.rup-wizard div.dt-buttons .btn-material.disabled.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton:disabled,.rup-wizard div.dt-buttons a.btn-material.disabled.rup-wizard_next,.rup-wizard div.dt-buttons a.btn-material.disabled.rup-wizard_prev,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next:disabled,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev:disabled,div.dt-buttons .btn-material.disabled.ui-button.rup-button,div.dt-buttons .btn-material.ui-button.rup-button:disabled,div.dt-buttons .rup-dropdown-btn-group .btn-material.disabled.rup-dropdown-button,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button:disabled,div.dt-buttons .rup-wizard .btn-material.disabled.rup-wizard_submitButton,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton:disabled,div.dt-buttons .rup-wizard a.btn-material.disabled.rup-wizard_next,div.dt-buttons .rup-wizard a.btn-material.disabled.rup-wizard_prev,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next:disabled,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev:disabled,div.dt-buttons a.btn-material.disabled.rup-toolbar_menuButton.ui-button,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button:disabled,div.dt-buttons button.btn-material.disabled,div.dt-buttons button.btn-material:disabled{color:rgba(0,0,0,.37);background-color:rgba(0,0,0,.12);border-color:transparent;box-shadow:none;cursor:default;pointer-events:none}.btn-material[class*=low]:disabled,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button[class*=low]:disabled,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton[class*=low]:disabled,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next[class*=low]:disabled,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev[class*=low]:disabled,div.dt-buttons .btn-material.ui-button.rup-button[class*=low]:disabled,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button[class*=low]:disabled,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton[class*=low]:disabled,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next[class*=low]:disabled,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev[class*=low]:disabled,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button[class*=low]:disabled,div.dt-buttons button.btn-material[class*=low]:disabled{background-color:transparent}.btn-material>i,.btn-material span,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button>i,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button span,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton>i,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton span,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next>i,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next span,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev>i,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev span,div.dt-buttons .btn-material.ui-button.rup-button>i,div.dt-buttons .btn-material.ui-button.rup-button span,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button>i,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button span,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton>i,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton span,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next>i,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next span,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev>i,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev span,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button>i,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button span,div.dt-buttons button.btn-material>i,div.dt-buttons button.btn-material span{vertical-align:middle}.btn-material>i.mdi,.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button>i.mdi,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton>i.mdi,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next>i.mdi,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev>i.mdi,div.dt-buttons .btn-material.ui-button.rup-button>i.mdi,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button>i.mdi,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton>i.mdi,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next>i.mdi,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev>i.mdi,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button>i.mdi,div.dt-buttons button.btn-material>i.mdi{margin-right:.3rem;font-size:1.5rem}.btn-material-sm,.rup-dropdown-btn-group div.dt-buttons .btn-material-sm.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-material-sm.rup-wizard_submitButton,.rup-wizard div.dt-buttons a.btn-material-sm.rup-wizard_next,.rup-wizard div.dt-buttons a.btn-material-sm.rup-wizard_prev,div.dt-buttons .btn-material-sm.ui-button.rup-button,div.dt-buttons .rup-dropdown-btn-group .btn-material-sm.rup-dropdown-button,div.dt-buttons .rup-wizard .btn-material-sm.rup-wizard_submitButton,div.dt-buttons .rup-wizard a.btn-material-sm.rup-wizard_next,div.dt-buttons .rup-wizard a.btn-material-sm.rup-wizard_prev,div.dt-buttons a.btn-material-sm.rup-toolbar_menuButton.ui-button,div.dt-buttons button.btn-material-sm{height:26px;font-size:.85rem!important;padding:6px 8px}.btn-material-sm>i.mdi,.rup-dropdown-btn-group div.dt-buttons .btn-material-sm.rup-dropdown-button>i.mdi,.rup-wizard div.dt-buttons .btn-material-sm.rup-wizard_submitButton>i.mdi,.rup-wizard div.dt-buttons a.btn-material-sm.rup-wizard_next>i.mdi,.rup-wizard div.dt-buttons a.btn-material-sm.rup-wizard_prev>i.mdi,div.dt-buttons .btn-material-sm.ui-button.rup-button>i.mdi,div.dt-buttons .rup-dropdown-btn-group .btn-material-sm.rup-dropdown-button>i.mdi,div.dt-buttons .rup-wizard .btn-material-sm.rup-wizard_submitButton>i.mdi,div.dt-buttons .rup-wizard a.btn-material-sm.rup-wizard_next>i.mdi,div.dt-buttons .rup-wizard a.btn-material-sm.rup-wizard_prev>i.mdi,div.dt-buttons a.btn-material-sm.rup-toolbar_menuButton.ui-button>i.mdi,div.dt-buttons button.btn-material-sm>i.mdi{font-size:1.15rem}.btn-material-lg,.rup-dropdown-btn-group div.dt-buttons .btn-material-lg.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-material-lg.rup-wizard_submitButton,.rup-wizard div.dt-buttons a.btn-material-lg.rup-wizard_next,.rup-wizard div.dt-buttons a.btn-material-lg.rup-wizard_prev,div.dt-buttons .btn-material-lg.ui-button.rup-button,div.dt-buttons .rup-dropdown-btn-group .btn-material-lg.rup-dropdown-button,div.dt-buttons .rup-wizard .btn-material-lg.rup-wizard_submitButton,div.dt-buttons .rup-wizard a.btn-material-lg.rup-wizard_next,div.dt-buttons .rup-wizard a.btn-material-lg.rup-wizard_prev,div.dt-buttons a.btn-material-lg.rup-toolbar_menuButton.ui-button,div.dt-buttons button.btn-material-lg{font-size:1rem!important;height:34px;padding:6px 13px;line-height:.8}.btn-material-lg>i.mdi,.rup-dropdown-btn-group div.dt-buttons .btn-material-lg.rup-dropdown-button>i.mdi,.rup-wizard div.dt-buttons .btn-material-lg.rup-wizard_submitButton>i.mdi,.rup-wizard div.dt-buttons a.btn-material-lg.rup-wizard_next>i.mdi,.rup-wizard div.dt-buttons a.btn-material-lg.rup-wizard_prev>i.mdi,div.dt-buttons .btn-material-lg.ui-button.rup-button>i.mdi,div.dt-buttons .rup-dropdown-btn-group .btn-material-lg.rup-dropdown-button>i.mdi,div.dt-buttons .rup-wizard .btn-material-lg.rup-wizard_submitButton>i.mdi,div.dt-buttons .rup-wizard a.btn-material-lg.rup-wizard_next>i.mdi,div.dt-buttons .rup-wizard a.btn-material-lg.rup-wizard_prev>i.mdi,div.dt-buttons a.btn-material-lg.rup-toolbar_menuButton.ui-button>i.mdi,div.dt-buttons button.btn-material-lg>i.mdi{font-size:1.6rem}.btn-group .btn-material,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material{line-height:1.5;margin:0 -2px;text-align:center;border-radius:initial;background-color:#c4c7cb}.btn-group .btn-material:first-child,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.rup-dropdown-button:first-child,.rup-wizard div.dt-buttons .btn-group .btn-material.rup-wizard_submitButton:first-child,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_next:first-child,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_prev:first-child,div.dt-buttons .btn-group .btn-material.ui-button.rup-button:first-child,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.rup-dropdown-button:first-child,div.dt-buttons .btn-group .rup-wizard .btn-material.rup-wizard_submitButton:first-child,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_next:first-child,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_prev:first-child,div.dt-buttons .btn-group a.btn-material.rup-toolbar_menuButton.ui-button:first-child,div.dt-buttons .btn-group button.btn-material:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.btn-group .btn-material:last-child,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.rup-dropdown-button:last-child,.rup-wizard div.dt-buttons .btn-group .btn-material.rup-wizard_submitButton:last-child,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_next:last-child,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_prev:last-child,div.dt-buttons .btn-group .btn-material.ui-button.rup-button:last-child,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.rup-dropdown-button:last-child,div.dt-buttons .btn-group .rup-wizard .btn-material.rup-wizard_submitButton:last-child,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_next:last-child,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_prev:last-child,div.dt-buttons .btn-group a.btn-material.rup-toolbar_menuButton.ui-button:last-child,div.dt-buttons .btn-group button.btn-material:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.btn-group .btn-material:not(.active),.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.rup-dropdown-button:not(.active),.rup-wizard div.dt-buttons .btn-group .btn-material.rup-wizard_submitButton:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_next:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_prev:not(.active),div.dt-buttons .btn-group .btn-material.ui-button.rup-button:not(.active),div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.rup-dropdown-button:not(.active),div.dt-buttons .btn-group .rup-wizard .btn-material.rup-wizard_submitButton:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_next:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_prev:not(.active),div.dt-buttons .btn-group a.btn-material.rup-toolbar_menuButton.ui-button:not(.active),div.dt-buttons .btn-group button.btn-material:not(.active){cursor:pointer}.btn-group .btn-material>i.mdi,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.rup-dropdown-button>i.mdi,.rup-wizard div.dt-buttons .btn-group .btn-material.rup-wizard_submitButton>i.mdi,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_next>i.mdi,.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_prev>i.mdi,div.dt-buttons .btn-group .btn-material.ui-button.rup-button>i.mdi,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.rup-dropdown-button>i.mdi,div.dt-buttons .btn-group .rup-wizard .btn-material.rup-wizard_submitButton>i.mdi,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_next>i.mdi,div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_prev>i.mdi,div.dt-buttons .btn-group a.btn-material.rup-toolbar_menuButton.ui-button>i.mdi,div.dt-buttons .btn-group button.btn-material>i.mdi{line-height:.9}.btn-group .btn-material:hover:not(.active),.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.rup-dropdown-button:hover:not(.active),.rup-wizard div.dt-buttons .btn-group .btn-material.rup-wizard_submitButton:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_next:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group .btn-material.ui-button.rup-button:hover:not(.active),div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.rup-dropdown-button:hover:not(.active),div.dt-buttons .btn-group .rup-wizard .btn-material.rup-wizard_submitButton:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_next:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group a.btn-material.rup-toolbar_menuButton.ui-button:hover:not(.active),div.dt-buttons .btn-group button.btn-material:hover:not(.active){background-color:#a6acb1;color:#fff}.btn-group .btn-material.active,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.active.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.active.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.active.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.active.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.active.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.active.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.active.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.active.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.active.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.active.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.active{background-color:#899097;color:#fff;cursor:default}.btn-group .btn-material.btn-material-primary,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-primary.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-primary.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-primary.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-primary.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-primary.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-primary.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-primary.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-primary.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-primary.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-primary.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-primary{background-color:#a1c6da}.btn-group .btn-material.btn-material-primary:hover:not(.active),.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-primary.rup-dropdown-button:hover:not(.active),.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-primary.rup-wizard_submitButton:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-primary.rup-wizard_next:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-primary.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group .btn-material.btn-material-primary.ui-button.rup-button:hover:not(.active),div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-primary.rup-dropdown-button:hover:not(.active),div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-primary.rup-wizard_submitButton:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-primary.rup-wizard_next:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-primary.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group a.btn-material.btn-material-primary.rup-toolbar_menuButton.ui-button:hover:not(.active),div.dt-buttons .btn-group button.btn-material.btn-material-primary:hover:not(.active){background-color:#72aac8}.btn-group .btn-material.btn-material-primary.active,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-primary.active.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-primary.active.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-primary.active.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-primary.active.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-primary.active.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-primary.active.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-primary.active.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-primary.active.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-primary.active.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-primary.active.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-primary.active{background-color:#428eb6}.btn-group .btn-material.btn-material-success,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-success.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-success.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-success.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-success.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-success.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-success.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-success.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-success.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-success.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-success.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-success{background-color:#b7dfb9}.btn-group .btn-material.btn-material-success:hover:not(.active),.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-success.rup-dropdown-button:hover:not(.active),.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-success.rup-wizard_submitButton:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-success.rup-wizard_next:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-success.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group .btn-material.btn-material-success.ui-button.rup-button:hover:not(.active),div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-success.rup-dropdown-button:hover:not(.active),div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-success.rup-wizard_submitButton:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-success.rup-wizard_next:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-success.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group a.btn-material.btn-material-success.rup-toolbar_menuButton.ui-button:hover:not(.active),div.dt-buttons .btn-group button.btn-material.btn-material-success:hover:not(.active){background-color:#93cf96}.btn-group .btn-material.btn-material-success.active,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-success.active.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-success.active.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-success.active.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-success.active.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-success.active.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-success.active.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-success.active.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-success.active.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-success.active.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-success.active.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-success.active{background-color:#6fbf72}.btn-group .btn-material.btn-material-danger,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-danger.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-danger.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-danger.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-danger.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-danger.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-danger.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-danger.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-danger.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-danger.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-danger.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-danger{background-color:#f1aeb4}.btn-group .btn-material.btn-material-danger:hover:not(.active),.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-danger.rup-dropdown-button:hover:not(.active),.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-danger.rup-wizard_submitButton:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-danger.rup-wizard_next:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-danger.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group .btn-material.btn-material-danger.ui-button.rup-button:hover:not(.active),div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-danger.rup-dropdown-button:hover:not(.active),div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-danger.rup-wizard_submitButton:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-danger.rup-wizard_next:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-danger.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group a.btn-material.btn-material-danger.rup-toolbar_menuButton.ui-button:hover:not(.active),div.dt-buttons .btn-group button.btn-material.btn-material-danger:hover:not(.active){background-color:#ea858f}.btn-group .btn-material.btn-material-danger.active,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-danger.active.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-danger.active.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-danger.active.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-danger.active.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-danger.active.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-danger.active.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-danger.active.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-danger.active.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-danger.active.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-danger.active.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-danger.active{background-color:#e35d6a}.btn-group .btn-material.btn-material-warning,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-warning.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-warning.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-warning.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-warning.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-warning.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-warning.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-warning.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-warning.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-warning.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-warning.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-warning{background-color:#ffe69b;color:#212529}.btn-group .btn-material.btn-material-warning:hover:not(.active),.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-warning.rup-dropdown-button:hover:not(.active),.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-warning.rup-wizard_submitButton:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-warning.rup-wizard_next:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-warning.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group .btn-material.btn-material-warning.ui-button.rup-button:hover:not(.active),div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-warning.rup-dropdown-button:hover:not(.active),div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-warning.rup-wizard_submitButton:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-warning.rup-wizard_next:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-warning.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group a.btn-material.btn-material-warning.rup-toolbar_menuButton.ui-button:hover:not(.active),div.dt-buttons .btn-group button.btn-material.btn-material-warning:hover:not(.active){background-color:#ffd96a;color:#212529}.btn-group .btn-material.btn-material-warning.active,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-warning.active.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-warning.active.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-warning.active.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-warning.active.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-warning.active.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-warning.active.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-warning.active.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-warning.active.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-warning.active.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-warning.active.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-warning.active{background-color:#ffcd38}.btn-group .btn-material.btn-material-info,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-info.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-info.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-info.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-info.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-info.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-info.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-info.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-info.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-info.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-info.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-info{background-color:#a0cdd5}.btn-group .btn-material.btn-material-info:hover:not(.active),.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-info.rup-dropdown-button:hover:not(.active),.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-info.rup-wizard_submitButton:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-info.rup-wizard_next:hover:not(.active),.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-info.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group .btn-material.btn-material-info.ui-button.rup-button:hover:not(.active),div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-info.rup-dropdown-button:hover:not(.active),div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-info.rup-wizard_submitButton:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-info.rup-wizard_next:hover:not(.active),div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-info.rup-wizard_prev:hover:not(.active),div.dt-buttons .btn-group a.btn-material.btn-material-info.rup-toolbar_menuButton.ui-button:hover:not(.active),div.dt-buttons .btn-group button.btn-material.btn-material-info:hover:not(.active){background-color:#71b5c0}.btn-group .btn-material.btn-material-info.active,.rup-dropdown-btn-group div.dt-buttons .btn-group .btn-material.btn-material-info.active.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-group .btn-material.btn-material-info.active.rup-wizard_submitButton,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-info.active.rup-wizard_next,.rup-wizard div.dt-buttons .btn-group a.btn-material.btn-material-info.active.rup-wizard_prev,div.dt-buttons .btn-group .btn-material.btn-material-info.active.ui-button.rup-button,div.dt-buttons .btn-group .rup-dropdown-btn-group .btn-material.btn-material-info.active.rup-dropdown-button,div.dt-buttons .btn-group .rup-wizard .btn-material.btn-material-info.active.rup-wizard_submitButton,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-info.active.rup-wizard_next,div.dt-buttons .btn-group .rup-wizard a.btn-material.btn-material-info.active.rup-wizard_prev,div.dt-buttons .btn-group a.btn-material.btn-material-info.active.rup-toolbar_menuButton.ui-button,div.dt-buttons .btn-group button.btn-material.btn-material-info.active{background-color:#429cab}.form-groupMaterial input:not([type=checkbox]):not([type=radio]){display:block;width:100%;height:2rem;font-size:1rem;padding:5px 17px 5px 18px;border:1px solid #757575;border-radius:5px;box-sizing:border-box;color:#495057;background-image:none;background-color:#fff}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):hover:enabled{border-color:#212529}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):focus:enabled{outline:none;border-color:#1472a4;caret-color:#1472a4;border-width:2px;box-shadow:none;padding-left:17px}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):placeholder-shown:disabled{color:transparent}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):-ms-input-placeholder:disabled{color:transparent}.form-groupMaterial input[type=file]:enabled{padding-bottom:29px}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):focus:enabled~label,.form-groupMaterial input:not([type=checkbox]):not([type=radio]):valid:enabled~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):placeholder-shown:required~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):-ms-input-placeholder:required~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):disabled{background-color:#e9ecef}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):disabled~label{top:-10px;font-size:.9rem;color:#999;padding:0 5px;background:linear-gradient(0deg,#e9ecef 0,#e9ecef 40%,transparent 0,transparent)}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):placeholder-shown:disabled{background-color:#e9ecef}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):placeholder-shown:disabled~label{top:-10px;font-size:.9rem;color:#999;padding:0 5px;background:linear-gradient(0deg,#e9ecef 0,#e9ecef 40%,transparent 0,transparent)}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):-ms-input-placeholder:disabled{background-color:#e9ecef}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):-ms-input-placeholder:disabled~label{top:-10px;font-size:.9rem;color:#999;padding:0 5px;background:linear-gradient(0deg,#e9ecef 0,#e9ecef 40%,transparent 0,transparent)}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):required~label:after{content:" *"}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):read-only~label,.form-groupMaterial input:not([type=checkbox]):not([type=radio])[type=hidden]~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial input:not([type=checkbox]):not([type=radio]):-moz-read-only~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial[class*=col-] input~label{left:19px}.form-groupMaterial textarea{display:block;width:100%;min-height:2.4rem;font-size:1rem;padding:5px 17px 5px 18px;border:1px solid #757575;border-radius:5px;box-sizing:border-box;color:#495057;background-image:none;background-color:#fff}.form-groupMaterial textarea:hover:enabled{border-color:#212529}.form-groupMaterial textarea:focus:enabled{outline:none;border-color:#1472a4;caret-color:#1472a4;border-width:2px;box-shadow:none;padding:4px 17px}.form-groupMaterial textarea:placeholder-shown:disabled{color:transparent}.form-groupMaterial textarea:-ms-input-placeholder:disabled{color:transparent}.form-groupMaterial textarea:focus:enabled~label,.form-groupMaterial textarea:valid:enabled~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial textarea:placeholder-shown:required~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial textarea:-ms-input-placeholder:required~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial textarea:read-only~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial textarea:-moz-read-only~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial[class*=col-] textarea~label{left:19px}.form-groupMaterial{position:relative;margin:1rem 0}.form-groupMaterial select{display:block;width:100%;height:2rem;font-size:1rem;padding:0 20px 0 13px;border:1px solid #757575;border-radius:5px;box-sizing:border-box;color:#495057;background-image:none;background-color:#fff;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:color .3s ease,background-color .3s ease,border-bottom-color .3s ease;background-image:linear-gradient(45deg,transparent 50%,#555 0),linear-gradient(135deg,#555 50%,transparent 0);background-repeat:no-repeat;background-position:calc(100% - 14.5px) .8em,calc(100% - 9.5px) .8em;background-size:5px 5px,5px 5px}.form-groupMaterial select::-ms-expand{display:none}.form-groupMaterial select:hover:enabled{border-color:#212529}.form-groupMaterial select:focus:enabled{outline:none;border-color:#1472a4;caret-color:#1472a4;border-width:2px;box-shadow:none;padding-left:17px}.form-groupMaterial select:placeholder-shown:disabled{color:transparent}.form-groupMaterial select:-ms-input-placeholder:disabled{color:transparent}.form-groupMaterial select:focus:enabled~label,.form-groupMaterial select:valid:enabled~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial select:placeholder-shown:required~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial select:-ms-input-placeholder:required~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial select:disabled{background-color:#e9ecef}.form-groupMaterial select:disabled~label{top:-10px;font-size:.9rem;color:#999;padding:0 5px;background:linear-gradient(0deg,#e9ecef 0,#e9ecef 40%,transparent 0,transparent)}.form-groupMaterial select:placeholder-shown:disabled{background-color:#e9ecef}.form-groupMaterial select:placeholder-shown:disabled~label{top:-10px;font-size:.9rem;color:#999;padding:0 5px;background:linear-gradient(0deg,#e9ecef 0,#e9ecef 40%,transparent 0,transparent)}.form-groupMaterial select:-ms-input-placeholder:disabled{background-color:#e9ecef}.form-groupMaterial select:-ms-input-placeholder:disabled~label{top:-10px;font-size:.9rem;color:#999;padding:0 5px;background:linear-gradient(0deg,#e9ecef 0,#e9ecef 40%,transparent 0,transparent)}.form-groupMaterial select:required~label:after{content:" *"}.form-groupMaterial select:read-only~label,.form-groupMaterial select[type=hidden]~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial select:-moz-read-only~label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial select:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.form-groupMaterial.rup-validate-field-error[class*=col-] select~i.mdi.error{right:25px}.form-groupMaterial label{color:#999;font-size:1rem;font-weight:400;position:absolute;pointer-events:none;left:14px;top:4px;padding-left:5px;transition:all .2s ease;-moz-transition:.2s ease all;-webkit-transition:all .2s ease}.form-groupMaterial[class*=col-] select~label{left:19px}@keyframes ripple-radio-hover{0%{box-shadow:0 0 0 1px transparent}50%{box-shadow:0 0 0 6px rgba(20,114,164,.05)}to{box-shadow:0 0 0 6px rgba(20,114,164,.1)}}@keyframes ripple-radio-active{0%{box-shadow:0 0 0 6px rgba(20,114,164,.1)}50%{box-shadow:0 0 0 6px rgba(20,114,164,.4)}to{box-shadow:0 0 0 6px rgba(20,114,164,.6)}}.radio-material{margin:.5em 0}.radio-material.radio-material-inline{display:inline-block;margin-right:1rem}.radio-material input[type=radio]{position:absolute;z-index:-1;opacity:0}.radio-material input[type=radio]:checked:hover:enabled~label:before,.radio-material input[type=radio]:hover:enabled~label:before{animation:ripple-radio-hover .2s linear forwards}.radio-material input[type=radio]:focus~label:before{animation:ripple-radio-active .2s linear forwards}.radio-material input[type=radio]:checked~label:before{border-color:#1472a4}.radio-material input[type=radio]:checked~label:after{transform:scale(1)}.radio-material input[type=radio]:active:enabled~label:before{animation:ripple-radio-active .2s linear forwards}.radio-material input[type=radio]:disabled~label:before{border-color:rgba(0,0,0,.26)}.radio-material input[type=radio]:disabled~label:after{background:rgba(0,0,0,.26)}.radio-material label{cursor:pointer;display:inline-block;height:18px;margin-bottom:0;padding-left:28px;position:relative;vertical-align:bottom}.radio-material label:after,.radio-material label:before{border-radius:50%;box-sizing:border-box;content:"";position:absolute;transition:all .3s ease;transition-property:transform,border-color}.radio-material label:before{border:2px solid rgba(0,0,0,.54);height:18px;left:0;top:0;width:18px}.radio-material label:after{background:#1472a4;height:8px;left:5px;top:5px;transform:scale(0);width:8px}.radio-material label:disabled{pointer-events:none}.radio-label-material{height:1.5rem}.radio-label-material label{font-size:.9rem;color:#1472a4}.form-radioGroupMaterial>label{position:absolute;top:2px;left:19px;font-size:.9rem;color:#1472a4;padding:0 5px}.form-radioGroupMaterial .radio-material{padding:.5rem 5rem;margin:.8rem 0}.form-radioGroupMaterial .radio-material>span:not(:last-child){margin-right:2rem}@keyframes ripple-checkbox-hover{0%{box-shadow:0 0 0 1px transparent}50%{box-shadow:0 0 0 6.5px rgba(20,114,164,.05)}to{box-shadow:0 0 0 6.5px rgba(20,114,164,.1)}}@keyframes ripple-checkbox-active{0%{box-shadow:0 0 0 6.5px rgba(20,114,164,.1)}50%{box-shadow:0 0 0 6.5px rgba(20,114,164,.4)}to{box-shadow:0 0 0 6.5px rgba(20,114,164,.6)}}.checkbox-material{position:relative;margin:1.2em 0;text-align:left}.checkbox-material.checkbox-material-inline{display:inline-block;margin-right:1rem}.checkbox-material label{cursor:pointer;display:inline;line-height:1.25em;vertical-align:top;clear:both;padding-left:1px}.checkbox-material label:not(:empty){padding-left:.75em}.checkbox-material label:after,.checkbox-material label:before{content:"";position:absolute;left:0;top:0;box-sizing:border-box}.checkbox-material label:before{width:1.25em;height:1.25em;background:#fff;border:2px solid rgba(0,0,0,.54);border-radius:.125em;cursor:pointer;transition:background .3s}.checkbox-material input[type=checkbox]{outline:0;opacity:0;width:1.25em;margin:0;display:block;float:left;font-size:inherit}.checkbox-material input[type=checkbox]:checked:hover:enabled~label:before,.checkbox-material input[type=checkbox]:hover:enabled~label:before{animation:ripple-checkbox-hover .2s linear forwards}.checkbox-material input[type=checkbox]:focus~label:before{animation:ripple-checkbox-active .2s linear forwards}.checkbox-material input[type=checkbox]:checked~label:before{background:#1472a4;border:none}.checkbox-material input[type=checkbox]:checked~label:after{transform:translate(.25em,.33654em) rotate(-45deg);width:.75em;height:.375em;border-color:#fff;border-style:none none solid solid;border-width:.125em}.checkbox-material input[type=checkbox]:active:enabled~label:before{animation:ripple-checkbox-active .2s linear forwards}.checkbox-material input[type=checkbox]:disabled~label:before{border-color:rgba(0,0,0,.26)}.checkbox-material input[type=checkbox]:disabled~label{pointer-events:none}.checkbox-material input[type=checkbox]:disabled:checked~label:before{background:rgba(0,0,0,.26)}table div.checkbox-material-inline label:after,table div.checkbox-material-inline label:before{top:3px}.form-groupMaterial.checkbox-material>label{line-height:2.9em;position:static}.form-groupMaterial.checkbox-material>label:after,.form-groupMaterial.checkbox-material>label:before{left:5px;top:10px}.dialog-content-material .checkbox-material label:after,.dialog-content-material .checkbox-material label:before{left:6px}.form-checkboxGroupMaterial>label{position:absolute;top:2px;left:19px;font-size:.9rem;color:#1472a4;padding:0 5px}.form-checkboxGroupMaterial .checkbox-material{padding:.5rem 1rem;margin:.8rem 0}.form-checkboxGroupMaterial .checkbox-material>span{position:relative}.form-checkboxGroupMaterial .checkbox-material>span:not(:last-child){margin-right:2rem}.form-checkboxGroupMaterial .checkbox-material>span label:not(:empty){padding-left:2em}table.table-material{border-top-left-radius:7px;border-top-right-radius:7px}table.table-material>thead th:hover{background-color:#a1c6da}table.table-material>thead tr{background-color:#e9e9e9}table.table-material>thead tr>th{border:none;border-bottom:1px solid #dee2e6}table.table-material>thead tr>th:first-child{border-top-left-radius:5px}table.table-material>thead tr>th:last-child{border-top-right-radius:5px}table.table-material>tbody tr>td{border:none;border-top:1px solid #dee2e6}table.table-material>tbody tr:hover>td{background-color:#a1c6da}table.table-material>tfoot tr>th{border:none;background-color:#fff}table.table-material>tfoot th:hover{background-color:#a1c6da}table.table-material i.mdi{font-weight:700;vertical-align:middle;font-size:1.35rem}table.table-material .checkbox-material{margin:.5em 0}.rup-breadCrumb_logoutDiv .rup-breadCrumb_link i.mdi{vertical-align:text-bottom;margin-right:.5rem}.btn-material.rup-dropdown{border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:none}.btn-material.rup-dropdown-button-material{min-width:0;width:25px;padding:initial;margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:none}.btn-material.rup-dropdown-button-material i.mdi{margin-right:0}.rup-dropdown-btn-group .rup-toolbar .btn-material.rup-dropdown-button,.rup-toolbar .btn-material.ui-button.rup-button,.rup-toolbar .rup-dropdown-btn-group .btn-material.rup-dropdown-button,.rup-toolbar .rup-wizard .btn-material.rup-wizard_submitButton,.rup-toolbar .rup-wizard a.btn-material.rup-wizard_next,.rup-toolbar .rup-wizard a.btn-material.rup-wizard_prev,.rup-toolbar a.btn-material.rup-toolbar_menuButton.ui-button,.rup-toolbar button.btn-material,.rup-wizard .rup-toolbar .btn-material.rup-wizard_submitButton,.rup-wizard .rup-toolbar a.btn-material.rup-wizard_next,.rup-wizard .rup-toolbar a.btn-material.rup-wizard_prev{margin:5px 2.5px}.rup-dropdown-btn-group .rup-mbutton-container.rup-mbutton-open .btn-material.rup-dropdown-button,.rup-mbutton-container.rup-mbutton-open .btn-material.ui-button.rup-button,.rup-mbutton-container.rup-mbutton-open .rup-dropdown-btn-group .btn-material.rup-dropdown-button,.rup-mbutton-container.rup-mbutton-open .rup-wizard .btn-material.rup-wizard_submitButton,.rup-mbutton-container.rup-mbutton-open .rup-wizard a.btn-material.rup-wizard_next,.rup-mbutton-container.rup-mbutton-open .rup-wizard a.btn-material.rup-wizard_prev,.rup-mbutton-container.rup-mbutton-open a.btn-material.rup-toolbar_menuButton.ui-button,.rup-mbutton-container.rup-mbutton-open button.btn-material,.rup-wizard .rup-mbutton-container.rup-mbutton-open .btn-material.rup-wizard_submitButton,.rup-wizard .rup-mbutton-container.rup-mbutton-open a.btn-material.rup-wizard_next,.rup-wizard .rup-mbutton-container.rup-mbutton-open a.btn-material.rup-wizard_prev{width:calc(100% - 5px);margin:5px 2.5px}.rup-dropdown-btn-group .rup-mbutton-container .btn-material.rup-dropdown-button,.rup-mbutton-container .btn-material.ui-button.rup-button,.rup-mbutton-container .rup-dropdown-btn-group .btn-material.rup-dropdown-button,.rup-mbutton-container .rup-wizard .btn-material.rup-wizard_submitButton,.rup-mbutton-container .rup-wizard a.btn-material.rup-wizard_next,.rup-mbutton-container .rup-wizard a.btn-material.rup-wizard_prev,.rup-mbutton-container a.btn-material.rup-toolbar_menuButton.ui-button,.rup-mbutton-container button.btn-material,.rup-wizard .rup-mbutton-container .btn-material.rup-wizard_submitButton,.rup-wizard .rup-mbutton-container a.btn-material.rup-wizard_next,.rup-wizard .rup-mbutton-container a.btn-material.rup-wizard_prev{height:30px}div.dialog-content-material{position:relative;border:0;padding:.5em 1em;background:0 0;overflow:auto}div.dialog-content-material+div.rup-table-buttonpanel-material{padding:.3em .4em .5em}div.rup-dialog{animation:fadein 1s;-webkit-animation:fadein 1s;-moz-animation:fadein 1s;-ms-animation:fadein 1s;-o-animation:fadein 1s}div.rup-dialog.ui-dialog{border:0}div.rup-dialog.ui-dialog .ui-dialog-titlebar{color:#fff}div.rup-dialog.ui-dialog .ui-dialog-titlebar i,div.rup-dialog.ui-dialog .ui-dialog-titlebar span.ui-dialog-title{font-size:1.25rem}@keyframes ripple-slider{0%{box-shadow:0 0 0 1px transparent}50%{box-shadow:0 0 0 5px rgba(20,114,164,.05)}to{box-shadow:0 0 0 5px rgba(20,114,164,.1)}}div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]),div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]){display:inline-block;width:calc(100% - 26px);padding-left:13px;border-right-style:hidden;color:#495057}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-dropdown-button,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-dropdown-button,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-wizard_submitButton,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_next,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_prev,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-wizard_submitButton,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_next,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_prev,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-dropdown-button,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-wizard_submitButton,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_next,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_prev,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.ui-button.rup-button,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-toolbar_menuButton.ui-button,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~button,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-dropdown-button,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-wizard_submitButton,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_next,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_prev,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.ui-button.rup-button,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-toolbar_menuButton.ui-button,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~button{border-color:#212529}div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled{padding-left:13px}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-dropdown-button,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-dropdown-button,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-wizard_submitButton,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_next,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_prev,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-wizard_submitButton,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_next,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_prev,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-dropdown-button,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-wizard_submitButton,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_next,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_prev,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.ui-button.rup-button,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-toolbar_menuButton.ui-button,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~button,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-dropdown-button,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-wizard_submitButton,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_next,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_prev,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.ui-button.rup-button,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-toolbar_menuButton.ui-button,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~button{border-color:#1472a4;border-width:2px;outline:none}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.ui-button.rup-button:focus,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-toolbar_menuButton.ui-button:focus,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~button:focus,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.ui-button.rup-button:focus,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-toolbar_menuButton.ui-button:focus,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~button:focus{background-color:#1472a4}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus img,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus img,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus img,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus img,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus img,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus img,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus img,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus img,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus img,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus img,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus img,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus img,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.ui-button.rup-button:focus img,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-toolbar_menuButton.ui-button:focus img,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~button:focus img,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus img,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus img,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus img,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus img,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.ui-button.rup-button:focus img,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-toolbar_menuButton.ui-button:focus img,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~button:focus img{filter:invert(100%) sepia(99%) saturate(0) hue-rotate(241deg) brightness(115%) contrast(100%)}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button{background-color:#e9ecef;border-color:#757575}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:hover,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:hover,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:hover,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:hover,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:hover,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:hover,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:hover,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:hover,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:hover,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:hover,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:hover,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:hover,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button:hover,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button:hover,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button:hover,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:hover,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:hover,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:hover,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:hover,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button:hover,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button:hover,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button:hover{cursor:auto}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:focus,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:focus,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:focus,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:focus,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:focus,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:focus,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:focus,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:focus,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:focus,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:focus,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:focus,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:focus,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button:focus,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button:focus,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button:focus,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button:focus,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton:focus,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next:focus,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev:focus,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button:focus,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button:focus,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button:focus{background-color:#e9ecef}.rup-dropdown-btn-group div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button img,.rup-dropdown-btn-group div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button img,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton img,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next img,.rup-wizard div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev img,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton img,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next img,.rup-wizard div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev img,div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button img,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton img,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next img,div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev img,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button img,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button img,div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button img,div.rup-time-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):disabled~.rup-dropdown-button img,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~.rup-wizard_submitButton img,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_next img,div.rup-time-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):disabled~a.rup-wizard_prev img,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~.ui-button.rup-button img,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~a.rup-toolbar_menuButton.ui-button img,div.rup-time-input-group-material input:not([type=checkbox]):not([type=radio]):disabled~button img{filter:invert(45%) sepia(0) saturate(5%) hue-rotate(199deg) brightness(101%) contrast(90%)}.rup-dropdown-btn-group div.rup-date-input-group-material .rup-dropdown-button,.rup-dropdown-btn-group div.rup-time-input-group-material .rup-dropdown-button,.rup-wizard div.rup-date-input-group-material .rup-wizard_submitButton,.rup-wizard div.rup-date-input-group-material a.rup-wizard_next,.rup-wizard div.rup-date-input-group-material a.rup-wizard_prev,.rup-wizard div.rup-time-input-group-material .rup-wizard_submitButton,.rup-wizard div.rup-time-input-group-material a.rup-wizard_next,.rup-wizard div.rup-time-input-group-material a.rup-wizard_prev,div.rup-date-input-group-material .rup-dropdown-btn-group .rup-dropdown-button,div.rup-date-input-group-material .rup-wizard .rup-wizard_submitButton,div.rup-date-input-group-material .rup-wizard a.rup-wizard_next,div.rup-date-input-group-material .rup-wizard a.rup-wizard_prev,div.rup-date-input-group-material .ui-button.rup-button,div.rup-date-input-group-material a.rup-toolbar_menuButton.ui-button,div.rup-date-input-group-material button,div.rup-time-input-group-material .rup-dropdown-btn-group .rup-dropdown-button,div.rup-time-input-group-material .rup-wizard .rup-wizard_submitButton,div.rup-time-input-group-material .rup-wizard a.rup-wizard_next,div.rup-time-input-group-material .rup-wizard a.rup-wizard_prev,div.rup-time-input-group-material .ui-button.rup-button,div.rup-time-input-group-material a.rup-toolbar_menuButton.ui-button,div.rup-time-input-group-material button{width:30px;height:2rem;margin-left:-4px;padding:3px;vertical-align:bottom;border:1px solid #757575;border-left-style:hidden;border-bottom-left-radius:0;border-top-left-radius:0;box-sizing:border-box;outline:none;position:absolute}.rup-dropdown-btn-group div.rup-date-input-group-material .rup-dropdown-button img,.rup-dropdown-btn-group div.rup-time-input-group-material .rup-dropdown-button img,.rup-wizard div.rup-date-input-group-material .rup-wizard_submitButton img,.rup-wizard div.rup-date-input-group-material a.rup-wizard_next img,.rup-wizard div.rup-date-input-group-material a.rup-wizard_prev img,.rup-wizard div.rup-time-input-group-material .rup-wizard_submitButton img,.rup-wizard div.rup-time-input-group-material a.rup-wizard_next img,.rup-wizard div.rup-time-input-group-material a.rup-wizard_prev img,div.rup-date-input-group-material .rup-dropdown-btn-group .rup-dropdown-button img,div.rup-date-input-group-material .rup-wizard .rup-wizard_submitButton img,div.rup-date-input-group-material .rup-wizard a.rup-wizard_next img,div.rup-date-input-group-material .rup-wizard a.rup-wizard_prev img,div.rup-date-input-group-material .ui-button.rup-button img,div.rup-date-input-group-material a.rup-toolbar_menuButton.ui-button img,div.rup-date-input-group-material button img,div.rup-time-input-group-material .rup-dropdown-btn-group .rup-dropdown-button img,div.rup-time-input-group-material .rup-wizard .rup-wizard_submitButton img,div.rup-time-input-group-material .rup-wizard a.rup-wizard_next img,div.rup-time-input-group-material .rup-wizard a.rup-wizard_prev img,div.rup-time-input-group-material .ui-button.rup-button img,div.rup-time-input-group-material a.rup-toolbar_menuButton.ui-button img,div.rup-time-input-group-material button img{vertical-align:initial;line-height:1}div.rup-date-input-group-material+label,div.rup-time-input-group-material+label{top:-10px;left:15px;margin:0;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;position:absolute;z-index:1}div.material-datepicker.ui-datepicker{padding:initial;border-radius:3px}div.material-datepicker.ui-datepicker div.ui-datepicker-header{padding:initial}div.material-datepicker.ui-datepicker div.ui-datepicker-row-break~div.ui-datepicker-group>div.ui-datepicker-header{border-top-left-radius:0;border-top-right-radius:0}div.material-datepicker.ui-datepicker div.ui-widget-header{height:25px;border:initial;border-bottom-left-radius:0;border-bottom-right-radius:0;background-color:#1472a4;color:#fff}div.material-datepicker.ui-datepicker div.ui-widget-header a{top:1px}div.material-datepicker.ui-datepicker div.ui-widget-header a.ui-datepicker-prev-hover.ui-state-hover{left:2px}div.material-datepicker.ui-datepicker div.ui-widget-header a.ui-datepicker-next-hover.ui-state-hover{right:2px}div.material-datepicker.ui-datepicker div.ui-widget-header a.ui-datepicker-next-hover.ui-state-hover,div.material-datepicker.ui-datepicker div.ui-widget-header a.ui-datepicker-prev-hover.ui-state-hover{background:initial;border:initial}div.material-datepicker.ui-datepicker div.ui-widget-header a.ui-datepicker-next-hover.ui-state-hover>span.ui-icon,div.material-datepicker.ui-datepicker div.ui-widget-header a.ui-datepicker-prev-hover.ui-state-hover>span.ui-icon{transform:scale(1.1)}div.material-datepicker.ui-datepicker div.ui-widget-header a>span.ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}div.material-datepicker.ui-datepicker div.ui-widget-header div.ui-datepicker-title>select{height:23px;font-weight:700;cursor:pointer;background-color:transparent;border:none;color:#fff;padding:0 0 0 18px;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:color .3s ease,background-color .3s ease,border-bottom-color .3s ease;background-image:linear-gradient(45deg,transparent 50%,#fff 0),linear-gradient(135deg,#fff 50%,transparent 0);background-repeat:no-repeat;background-position:calc(100% - 13px) .75em,calc(100% - 8px) .75em;background-size:5px 5px,5px 5px}div.material-datepicker.ui-datepicker div.ui-widget-header div.ui-datepicker-title>select:focus,div.material-datepicker.ui-datepicker div.ui-widget-header div.ui-datepicker-title>select:hover{color:#1472a4;background-color:#fff}div.material-datepicker.ui-datepicker div.ui-widget-header div.ui-datepicker-title>select:-ms-expand{display:none}div.material-datepicker.ui-datepicker div.ui-widget-header div.ui-datepicker-title>select:first-child{margin-right:5%}div.material-datepicker.ui-datepicker dl{margin:.5em}div.material-datepicker.ui-datepicker dl dd{margin-bottom:1.35em}div.material-datepicker.ui-datepicker dl dd .ui_tpicker_time_input{border:none;box-shadow:none;padding:0}div.material-datepicker.ui-datepicker dl dd .ui-slider-horizontal{height:0;margin-top:.8em;margin-bottom:.8em;border:1px solid #1472a4}div.material-datepicker.ui-datepicker dl dd .ui-slider-horizontal span{top:-.5em;width:1em;height:1em;cursor:e-resize;border:2.5px solid #1472a4;background:#fff;color:#1472a4;border-radius:100%}div.material-datepicker.ui-datepicker dl dd .ui-slider-horizontal span:hover{transform:scale(1.25)}div.material-datepicker.ui-datepicker dl dd .ui-slider-horizontal span:focus{outline:none;transform:scale(1.25);animation:ripple-slider .2s linear forwards}div.material-datepicker.ui-datepicker table.ui-datepicker-calendar td.ui-datepicker-today>a{background-color:#1472a4;border:.1em solid #1472a4;color:#fff}div.material-datepicker.ui-datepicker table.ui-datepicker-calendar td.ui-datepicker-current-day>a{background-color:#4caf50;border:.1em solid #4caf50;color:#fff}div.material-datepicker.ui-datepicker table.ui-datepicker-calendar td.ui-state-highlight,div.material-datepicker.ui-datepicker table.ui-datepicker-calendar td.ui-state-highlight>a{background-color:#4caf50;border:0;color:#fff}div.material-datepicker.ui-datepicker table.ui-datepicker-calendar td>a:hover{background-color:#72aac8;border:.1em solid #72aac8;color:#fff}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-button,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard_submitButton,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_next,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_prev,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .rup-dropdown-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .rup-wizard_submitButton,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_next,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_prev,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-button.rup-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-toolbar_menuButton.ui-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button{min-width:64px;height:26px;padding:6px 8px;border:2px solid transparent;border-radius:4px;font-size:.85rem;font-weight:400;letter-spacing:normal;line-height:.7;text-decoration:none;text-transform:uppercase;box-sizing:border-box}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-button:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard_submitButton:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_next:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_prev:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .rup-dropdown-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .rup-wizard_submitButton:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_next:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_prev:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-button.rup-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-toolbar_menuButton.ui-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button:focus{outline:none}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-button:disabled,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard_submitButton:disabled,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_next:disabled,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-wizard_prev:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .rup-dropdown-button:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .rup-wizard_submitButton:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_next:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.rup-wizard_prev:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-button.rup-button:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.rup-toolbar_menuButton.ui-button:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button:disabled{color:rgba(0,0,0,.37);background-color:rgba(0,0,0,.12);border-color:transparent;box-shadow:none;cursor:default;pointer-events:none}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-dropdown-button,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-wizard_submitButton,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_next,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_prev,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-primary.rup-dropdown-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-primary.rup-wizard_submitButton,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_next,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_prev,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.ui-button.rup-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-toolbar_menuButton.ui-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-primary{color:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);background-color:#1472a4}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-dropdown-button:hover,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-wizard_submitButton:hover,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_next:hover,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_prev:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-primary.rup-dropdown-button:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-primary.rup-wizard_submitButton:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_next:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_prev:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.ui-button.rup-button:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-toolbar_menuButton.ui-button:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-primary:hover{color:#fff;opacity:.9;box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);background-color:#1472a4;border-color:#1472a4}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-dropdown-button:active,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-wizard_submitButton:active,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_next:active,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_prev:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-primary.rup-dropdown-button:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-primary.rup-wizard_submitButton:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_next:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_prev:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.ui-button.rup-button:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-toolbar_menuButton.ui-button:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-primary:active{color:#fff;opacity:.5;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);border-color:#1472a4}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-dropdown-button:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.rup-wizard_submitButton:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_next:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-wizard_prev:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-primary.rup-dropdown-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-primary.rup-wizard_submitButton:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_next:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-primary.rup-wizard_prev:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary.ui-button.rup-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-primary.rup-toolbar_menuButton.ui-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-primary:focus{background-color:#1472a4;background-color:#0c4462}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-dropdown-button,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-wizard_submitButton,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_next,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_prev,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-secondary.rup-dropdown-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-secondary.rup-wizard_submitButton,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_next,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_prev,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.ui-button.rup-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-toolbar_menuButton.ui-button,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-secondary{color:#1472a4;background-color:initial;border-color:transparent}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-dropdown-button:hover,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-wizard_submitButton:hover,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_next:hover,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_prev:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-secondary.rup-dropdown-button:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-secondary.rup-wizard_submitButton:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_next:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_prev:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.ui-button.rup-button:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-toolbar_menuButton.ui-button:hover,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-secondary:hover{background-color:#72aac8;border-color:#72aac8;color:#fff}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-dropdown-button:active,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-wizard_submitButton:active,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_next:active,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_prev:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-secondary.rup-dropdown-button:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-secondary.rup-wizard_submitButton:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_next:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_prev:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.ui-button.rup-button:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-toolbar_menuButton.ui-button:active,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-secondary:active{background-color:#428eb6}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-dropdown-button:active:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-wizard_submitButton:active:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_next:active:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_prev:active:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-secondary.rup-dropdown-button:active:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-secondary.rup-wizard_submitButton:active:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_next:active:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_prev:active:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.ui-button.rup-button:active:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-toolbar_menuButton.ui-button:active:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-secondary:active:focus{color:#fff}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-dropdown-button:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-wizard_submitButton:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_next:focus,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_prev:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-secondary.rup-dropdown-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-secondary.rup-wizard_submitButton:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_next:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_prev:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.ui-button.rup-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-toolbar_menuButton.ui-button:focus,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-secondary:focus{border:2px solid #428eb6}.rup-dropdown-btn-group div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-dropdown-button:disabled,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.rup-wizard_submitButton:disabled,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_next:disabled,.rup-wizard div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-wizard_prev:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-dropdown-btn-group .ui-priority-secondary.rup-dropdown-button:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard .ui-priority-secondary.rup-wizard_submitButton:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_next:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .rup-wizard a.ui-priority-secondary.rup-wizard_prev:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane .ui-priority-secondary.ui-button.rup-button:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane a.ui-priority-secondary.rup-toolbar_menuButton.ui-button:disabled,div.material-datepicker.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-secondary:disabled{background-color:transparent}div.rup-feedback.rup-feedback_image{border:1px solid #c5c5c5;color:#495057}div.rup-feedback.rup-feedback_image>i.mdi{margin-right:1rem;font-weight:700;font-size:2rem;vertical-align:middle}div.rup-feedback.rup-feedback_image>i.mdi+div{display:initial;vertical-align:middle}.rup-dropdown-btn-group div.rup-feedback.rup-feedback_image .btn-material.rup-dropdown-button,.rup-wizard div.rup-feedback.rup-feedback_image .btn-material.rup-wizard_submitButton,.rup-wizard div.rup-feedback.rup-feedback_image a.btn-material.rup-wizard_next,.rup-wizard div.rup-feedback.rup-feedback_image a.btn-material.rup-wizard_prev,div.rup-feedback.rup-feedback_image .btn-material.ui-button.rup-button,div.rup-feedback.rup-feedback_image .rup-dropdown-btn-group .btn-material.rup-dropdown-button,div.rup-feedback.rup-feedback_image .rup-wizard .btn-material.rup-wizard_submitButton,div.rup-feedback.rup-feedback_image .rup-wizard a.btn-material.rup-wizard_next,div.rup-feedback.rup-feedback_image .rup-wizard a.btn-material.rup-wizard_prev,div.rup-feedback.rup-feedback_image a.btn-material.rup-toolbar_menuButton.ui-button,div.rup-feedback.rup-feedback_image button.btn-material{margin-left:1rem}div.rup-message{animation:fadein 1s;-webkit-animation:fadein 1s;-moz-animation:fadein 1s;-ms-animation:fadein 1s;-o-animation:fadein 1s}.form-groupMaterial input:not([type=checkbox]):not([type=radio]).rup_multifilter_selector{border-top-right-radius:0;border-bottom-right-radius:0}.form-groupMaterial label.select-material{left:14px}.form-groupMaterial select[ruptype=select]:enabled+span:hover span.select2-selection{border-color:#212529}.form-groupMaterial select[ruptype=select]:enabled+span.select2-container--focus+label{top:-10px;font-size:.9rem;color:#1472a4;padding:0 5px;background-color:#fff;background-image:none}.form-groupMaterial select[ruptype=select]+span.select2-container--focus span.select2-selection,.form-groupMaterial select[ruptype=select]+span.select2-container--focus span.select2-selection:focus{outline:none;border-color:#1472a4;border-width:2px;box-shadow:none}.form-groupMaterial select[ruptype=select]+span.select2-container--focus span.select2-selection:focus span.select2-selection__rendered,.form-groupMaterial select[ruptype=select]+span.select2-container--focus span.select2-selection span.select2-selection__rendered{padding-left:17px;padding-right:19px;line-height:1.65}.form-groupMaterial select[ruptype=select]+span.select2-container--focus span.select2-selection:focus span.select2-selection__rendered input,.form-groupMaterial select[ruptype=select]+span.select2-container--focus span.select2-selection span.select2-selection__rendered input{height:calc(2rem - 4px)}.form-groupMaterial select[ruptype=select]+span.select2-container--open span.select2-selection--single span.select2-selection__arrow b{border-color:transparent transparent #555}.form-groupMaterial select[ruptype=select]+span.select2-container--disabled span.select2-selection--single{background-color:#e9ecef}.form-groupMaterial select[ruptype=select]+span.select2-container--disabled~label{color:#999;background:linear-gradient(0deg,#e9ecef 0,#e9ecef 40%,transparent 0,transparent)}.form-groupMaterial select[ruptype=select]+span span.select2-selection--single{height:2rem}.form-groupMaterial select[ruptype=select]+span span.select2-selection--single span.select2-selection__arrow{height:calc(2rem - 2px);border:none;background-position:50%}.form-groupMaterial select[ruptype=select]+span span.select2-selection--single span.select2-selection__arrow b{border-color:#555 transparent transparent}.form-groupMaterial select[ruptype=select]+span span.select2-selection{border:1px solid #757575}.form-groupMaterial select[ruptype=select]+span span.select2-selection__rendered{padding-left:18px;line-height:1.8}.form-groupMaterial select[ruptype=select]+span span.select2-selection__rendered input,.form-groupMaterial select[ruptype=select]+span span.select2-selection__rendered input:focus:enabled{height:calc(2rem - 2px);padding:0;background-color:initial}.form-groupMaterial select[ruptype=select]~label.select-material{left:14px}.form-groupMaterial[class*=col-] label.select-material,.form-groupMaterial[class*=col-] select[ruptype=select]~label.select-material{left:19px}.row .form-groupMaterial[class*=col-] label.select-material,.row .form-groupMaterial[class*=col-] select[ruptype=select]~label.select-material{left:29px}.select2-results__option[aria-selected=true]:before{display:inline-block;padding:0;border:0;font-family:initial;content:"\2713";color:#fff;background-color:#1472a4;font-size:1.2rem;text-align:center}.select2-search--dropdown{display:none}div.rup-slider-material.ui-slider-horizontal{height:0;margin-top:.8em;margin-bottom:.8em;border:1px solid #1472a4}div.rup-slider-material.ui-slider-horizontal span{top:-.5em;width:1em;height:1em;cursor:e-resize;border:2.5px solid #1472a4;background:#fff;color:#1472a4;border-radius:100%}div.rup-slider-material.ui-slider-horizontal span:hover{transform:scale(1.25)}div.rup-slider-material.ui-slider-horizontal span:focus{outline:none;transform:scale(1.25);animation:ripple-slider .2s linear forwards}div.rup-slider-range-material.ui-slider-horizontal{height:0;margin-top:.8em;margin-bottom:.8em}div.rup-slider-range-material.ui-slider-horizontal div.ui-slider-range{top:-1px;border:1px solid #1472a4}div.rup-slider-range-material.ui-slider-horizontal span{top:-.5em;width:1em;height:1em;cursor:e-resize;border:2.5px solid #1472a4;background:#fff;color:#1472a4;border-radius:100%}div.rup-slider-range-material.ui-slider-horizontal span:hover{transform:scale(1.25)}div.rup-slider-range-material.ui-slider-horizontal span:focus{outline:none;transform:scale(1.25);animation:ripple-slider .2s linear forwards}div.dt-buttons .btn-material{margin:.25rem}.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev,div.dt-buttons .btn-material.ui-button.rup-button,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button,div.dt-buttons button.btn-material{padding:6px 10px;border:2px solid transparent;border-radius:4px;line-height:.7;text-decoration:none;box-sizing:border-box;background-image:none}.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button:hover,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next:hover,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev:hover,div.dt-buttons .btn-material.ui-button.rup-button:hover,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button:hover,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next:hover,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev:hover,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button:hover,div.dt-buttons button.btn-material:hover{background-image:none}.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button:active,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next:active,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev:active,div.dt-buttons .btn-material.ui-button.rup-button:active,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button:active,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next:active,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev:active,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button:active,div.dt-buttons button.btn-material:active{background-image:none;border:2px solid transparent}.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button:focus,.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next:focus,.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev:focus,div.dt-buttons .btn-material.ui-button.rup-button:focus,div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button:focus,div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next:focus,div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev:focus,div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button:focus,div.dt-buttons button.btn-material:focus{background-image:none;border:2px solid transparent;text-shadow:none}.rup-dropdown-btn-group div.dt-buttons .btn-material.rup-dropdown-button:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons .btn-material.rup-wizard_submitButton:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_next:active:not(.disabled):hover:not(.disabled),.rup-wizard div.dt-buttons a.btn-material.rup-wizard_prev:active:not(.disabled):hover:not(.disabled),div.dt-buttons .btn-material.ui-button.rup-button:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-dropdown-btn-group .btn-material.rup-dropdown-button:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard .btn-material.rup-wizard_submitButton:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_next:active:not(.disabled):hover:not(.disabled),div.dt-buttons .rup-wizard a.btn-material.rup-wizard_prev:active:not(.disabled):hover:not(.disabled),div.dt-buttons a.btn-material.rup-toolbar_menuButton.ui-button:active:not(.disabled):hover:not(.disabled),div.dt-buttons button.btn-material:active:not(.disabled):hover:not(.disabled){background-image:none}.rup-dropdown-btn-group div.dt-button-collection .btn-material.rup-dropdown-button,.rup-wizard div.dt-button-collection .btn-material.rup-wizard_submitButton,.rup-wizard div.dt-button-collection a.btn-material.rup-wizard_next,.rup-wizard div.dt-button-collection a.btn-material.rup-wizard_prev,div.dt-button-collection .btn-material.ui-button.rup-button,div.dt-button-collection .rup-dropdown-btn-group .btn-material.rup-dropdown-button,div.dt-button-collection .rup-wizard .btn-material.rup-wizard_submitButton,div.dt-button-collection .rup-wizard a.btn-material.rup-wizard_next,div.dt-button-collection .rup-wizard a.btn-material.rup-wizard_prev,div.dt-button-collection a.btn-material.rup-toolbar_menuButton.ui-button,div.dt-button-collection button.btn-material{background-color:transparent;display:block;width:100%;text-align:left}div.formulario_legend{border-radius:5px;background-color:#e9e9e9}div.formulario_legend.formulario_opened{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:1px solid #dee2e6}div.formulario_legend.formulario_opened+fieldset.rup-table-filter-fieldset{border-top-left-radius:0;border-top-right-radius:0}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_desc_disabled{background-image:none}table.dataTable thead .sorting_asc_disabled span.mdi,table.dataTable thead .sorting_asc span.mdi,table.dataTable thead .sorting_desc_disabled span.mdi,table.dataTable thead .sorting_desc span.mdi,table.dataTable thead .sorting span.mdi{font-size:1.2rem}table.dataTable thead .sorting span.mdi-arrow-down,table.dataTable thead .sorting span.mdi-arrow-up{color:#999}table.dataTable thead .sorting_asc span.mdi-arrow-up{color:#1472a4}table.dataTable thead .sorting_asc span.mdi-arrow-down,table.dataTable thead .sorting_desc span.mdi-arrow-up{color:#999}table.dataTable thead .sorting_desc span.mdi-arrow-down{color:#1472a4}table.dataTable thead .sorting_asc_disabled span.mdi-arrow-up{color:#c5c5c5}table.dataTable thead .sorting_asc_disabled span.mdi-arrow-down,table.dataTable thead .sorting_desc_disabled span.mdi-arrow-up{color:#999}table.dataTable thead .sorting_desc_disabled span.mdi-arrow-down{color:#c5c5c5}table.dataTable thead .sorting_disabled>div:not(.divSelectTableHead){display:none!important}table.dataTable tbody td::-moz-selection{background-color:transparent}table.dataTable tbody td::selection{background-color:transparent}.paginationContainer .searchPaginator input{padding:1px;border:1px solid #757575;border-radius:5px;box-sizing:border-box;color:#495057;background-image:none;background-color:#fff}.paginationContainer .searchPaginator input:hover{border-color:#212529}.paginationContainer .searchPaginator input:focus{outline:none;border-color:#1472a4;caret-color:#1472a4;border-width:2px;box-shadow:none;padding:initial}.paginationContainer .dataTables_length label{margin:initial}.paginationContainer .dataTables_length label select{padding:0 15px 0 5px;border:1px solid #757575;border-radius:5px;box-sizing:border-box;color:#495057;background-image:none;background-color:#fff;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:color .3s ease,background-color .3s ease,border-bottom-color .3s ease;background-image:linear-gradient(45deg,transparent 50%,#555 0),linear-gradient(135deg,#555 50%,transparent 0);background-repeat:no-repeat;background-position:calc(100% - 9.5px) .8em,calc(100% - 4.5px) .8em;background-size:5px 5px,5px 5px}.paginationContainer .dataTables_length label select::-ms-expand{display:none}.paginationContainer .dataTables_length label select:hover{border-color:#212529}.paginationContainer .dataTables_length label select:focus{outline:none;border-color:#1472a4;caret-color:#1472a4;border-width:2px;box-shadow:none}@media (min-width:1200px){.col-xl-6 .paginationContainer .dataTables_length label select{padding:0 10px 0 0;background-position:calc(100% - 7.5px) .8em,calc(100% - 2.5px) .8em}}form+div.paginationContainer{border-bottom-left-radius:7px;border-bottom-right-radius:7px}i.mdi.error{color:#d9534f}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]),.form-groupMaterial.rup-validate-field-error select,.form-groupMaterial.rup-validate-field-error textarea{padding-right:30px}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):enabled~label,.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):enabled~span,.form-groupMaterial.rup-validate-field-error select:enabled~label,.form-groupMaterial.rup-validate-field-error select:enabled~span,.form-groupMaterial.rup-validate-field-error textarea:enabled~label,.form-groupMaterial.rup-validate-field-error textarea:enabled~span{color:#d9534f}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):enabled~span a.select-material,.form-groupMaterial.rup-validate-field-error select:enabled~span a.select-material,.form-groupMaterial.rup-validate-field-error textarea:enabled~span a.select-material{border-color:#d9534f}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):enabled~span a.select-material:hover,.form-groupMaterial.rup-validate-field-error select:enabled~span a.select-material:hover,.form-groupMaterial.rup-validate-field-error textarea:enabled~span a.select-material:hover{border-color:#d43f3a}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):enabled~span a.select-material:focus,.form-groupMaterial.rup-validate-field-error select:enabled~span a.select-material:focus,.form-groupMaterial.rup-validate-field-error textarea:enabled~span a.select-material:focus{border:2px solid #d43f3a}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):invalid:enabled~label,.form-groupMaterial.rup-validate-field-error select:invalid:enabled~label,.form-groupMaterial.rup-validate-field-error textarea:invalid:enabled~label{color:#495057}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):enabled,.form-groupMaterial.rup-validate-field-error select:enabled,.form-groupMaterial.rup-validate-field-error textarea:enabled{border-color:#d9534f}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):hover:enabled,.form-groupMaterial.rup-validate-field-error select:hover:enabled,.form-groupMaterial.rup-validate-field-error textarea:hover:enabled{border-color:#d43f3a}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):focus:enabled,.form-groupMaterial.rup-validate-field-error select:focus:enabled,.form-groupMaterial.rup-validate-field-error textarea:focus:enabled{border:2px solid #d43f3a;caret-color:#d43f3a;outline:none}.form-groupMaterial.rup-validate-field-error input:not([type=checkbox]):not([type=radio]):focus:enabled:invalid~label,.form-groupMaterial.rup-validate-field-error select:focus:enabled:invalid~label,.form-groupMaterial.rup-validate-field-error span,.form-groupMaterial.rup-validate-field-error textarea:focus:enabled:invalid~label{color:#d9534f}.form-groupMaterial.rup-validate-field-error i.mdi.error{position:absolute;top:1px;right:10px;font-size:1.3rem;font-style:normal;font-weight:400}.form-groupMaterial.rup-validate-field-error .error:last-child{display:block;padding-top:2px}.form-groupMaterial.rup-validate-field-error select{padding-right:45px}.form-groupMaterial.rup-validate-field-error select~i.mdi.error{right:25px}.form-groupMaterial.rup-validate-field-error textarea{padding-right:35px}.form-groupMaterial.rup-validate-field-error textarea~i.mdi.error{top:7px;right:25px}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.ui-button.rup-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-toolbar_menuButton.ui-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~button,.rup-dropdown-btn-group .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev{border-color:#d9534f}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.ui-button.rup-button:focus,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-toolbar_menuButton.ui-button:focus,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~button:focus,.rup-dropdown-btn-group .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus{background-color:#d43f3a}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus>i.mdi,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus>i.mdi,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus>i.mdi,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus>i.mdi,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.ui-button.rup-button:focus>i.mdi,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-toolbar_menuButton.ui-button:focus>i.mdi,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~button:focus>i.mdi,.rup-dropdown-btn-group .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-dropdown-button:focus>i.mdi,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~.rup-wizard_submitButton:focus>i.mdi,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_next:focus>i.mdi,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):enabled~a.rup-wizard_prev:focus>i.mdi{color:#fff}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-dropdown-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-wizard_submitButton,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_next,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_prev,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.ui-button.rup-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-toolbar_menuButton.ui-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~button,.rup-dropdown-btn-group .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-dropdown-button,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~.rup-wizard_submitButton,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_next,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):hover:enabled~a.rup-wizard_prev{border-color:#d43f3a}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled{border:2px solid #d43f3a;caret-color:#d43f3a}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-dropdown-btn-group input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-dropdown-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-wizard_submitButton,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_next,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material .rup-wizard input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_prev,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.ui-button.rup-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-toolbar_menuButton.ui-button,.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~button,.rup-dropdown-btn-group .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-dropdown-button,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~.rup-wizard_submitButton,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_next,.rup-wizard .form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material input:not([type=checkbox]):not([type=radio]):focus:enabled~a.rup-wizard_prev{border:2px solid #d43f3a;border-left-style:hidden}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material+label{color:#d9534f}.form-groupMaterial.rup-validate-field-error div.rup-date-input-group-material+i.mdi.error{position:absolute;top:1px;right:30px;font-size:1.3rem;font-style:normal;font-weight:400}.inline .form-groupMaterial.rup-validate-field-error .error:last-child{display:block;position:absolute;padding:initial}.material-rounded{border-radius:16px}.pointer{cursor:pointer}.clear{clear:both}.font-size-5rem{font-size:5rem}.title{color:rgba(16,91,131,.8);border-bottom:2px solid rgba(87,126,154,.5)}.text-decoration-underline{text-decoration:underline!important}@font-face{font-family:Material Design Icons;src:url(fonts/materialdesignicons-webfont.eot);src:url(fonts/materialdesignicons-webfont.eot?#iefix&v=4.9.95) format("embedded-opentype"),url(fonts/materialdesignicons-webfont.woff2) format("woff2"),url(fonts/materialdesignicons-webfont.woff) format("woff"),url(fonts/materialdesignicons-webfont.ttf) format("truetype");font-weight:400;font-style:normal}.mdi-set,.mdi:before{display:inline-block;font:normal normal normal 24px/1 Material Design Icons;font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mdi-ab-testing:before{content:"\F001C"}.mdi-abjad-arabic:before{content:"\F0353"}.mdi-abjad-hebrew:before{content:"\F0354"}.mdi-abugida-devanagari:before{content:"\F0355"}.mdi-abugida-thai:before{content:"\F0356"}.mdi-access-point:before{content:"\F002"}.mdi-access-point-network:before{content:"\F003"}.mdi-access-point-network-off:before{content:"\FBBD"}.mdi-account:before{content:"\F004"}.mdi-account-alert:before{content:"\F005"}.mdi-account-alert-outline:before{content:"\FB2C"}.mdi-account-arrow-left:before{content:"\FB2D"}.mdi-account-arrow-left-outline:before{content:"\FB2E"}.mdi-account-arrow-right:before{content:"\FB2F"}.mdi-account-arrow-right-outline:before{content:"\FB30"}.mdi-account-badge:before{content:"\FD83"}.mdi-account-badge-alert:before{content:"\FD84"}.mdi-account-badge-alert-outline:before{content:"\FD85"}.mdi-account-badge-horizontal:before{content:"\FDF0"}.mdi-account-badge-horizontal-outline:before{content:"\FDF1"}.mdi-account-badge-outline:before{content:"\FD86"}.mdi-account-box:before{content:"\F006"}.mdi-account-box-multiple:before{content:"\F933"}.mdi-account-box-multiple-outline:before{content:"\F002C"}.mdi-account-box-outline:before{content:"\F007"}.mdi-account-cancel:before{content:"\F030A"}.mdi-account-cancel-outline:before{content:"\F030B"}.mdi-account-card-details:before{content:"\F5D2"}.mdi-account-card-details-outline:before{content:"\FD87"}.mdi-account-cash:before{content:"\F00C2"}.mdi-account-cash-outline:before{content:"\F00C3"}.mdi-account-check:before{content:"\F008"}.mdi-account-check-outline:before{content:"\FBBE"}.mdi-account-child:before{content:"\FA88"}.mdi-account-child-circle:before{content:"\FA89"}.mdi-account-child-outline:before{content:"\F00F3"}.mdi-account-circle:before{content:"\F009"}.mdi-account-circle-outline:before{content:"\FB31"}.mdi-account-clock:before{content:"\FB32"}.mdi-account-clock-outline:before{content:"\FB33"}.mdi-account-cog:before{content:"\F039B"}.mdi-account-cog-outline:before{content:"\F039C"}.mdi-account-convert:before{content:"\F00A"}.mdi-account-convert-outline:before{content:"\F032C"}.mdi-account-details:before{content:"\F631"}.mdi-account-details-outline:before{content:"\F039D"}.mdi-account-edit:before{content:"\F6BB"}.mdi-account-edit-outline:before{content:"\F001D"}.mdi-account-group:before{content:"\F848"}.mdi-account-group-outline:before{content:"\FB34"}.mdi-account-heart:before{content:"\F898"}.mdi-account-heart-outline:before{content:"\FBBF"}.mdi-account-key:before{content:"\F00B"}.mdi-account-key-outline:before{content:"\FBC0"}.mdi-account-lock:before{content:"\F0189"}.mdi-account-lock-outline:before{content:"\F018A"}.mdi-account-minus:before{content:"\F00D"}.mdi-account-minus-outline:before{content:"\FAEB"}.mdi-account-multiple:before{content:"\F00E"}.mdi-account-multiple-check:before{content:"\F8C4"}.mdi-account-multiple-check-outline:before{content:"\F0229"}.mdi-account-multiple-minus:before{content:"\F5D3"}.mdi-account-multiple-minus-outline:before{content:"\FBC1"}.mdi-account-multiple-outline:before{content:"\F00F"}.mdi-account-multiple-plus:before{content:"\F010"}.mdi-account-multiple-plus-outline:before{content:"\F7FF"}.mdi-account-multiple-remove:before{content:"\F0235"}.mdi-account-multiple-remove-outline:before{content:"\F0236"}.mdi-account-network:before{content:"\F011"}.mdi-account-network-outline:before{content:"\FBC2"}.mdi-account-off:before{content:"\F012"}.mdi-account-off-outline:before{content:"\FBC3"}.mdi-account-outline:before{content:"\F013"}.mdi-account-plus:before{content:"\F014"}.mdi-account-plus-outline:before{content:"\F800"}.mdi-account-question:before{content:"\FB35"}.mdi-account-question-outline:before{content:"\FB36"}.mdi-account-remove:before{content:"\F015"}.mdi-account-remove-outline:before{content:"\FAEC"}.mdi-account-search:before{content:"\F016"}.mdi-account-search-outline:before{content:"\F934"}.mdi-account-settings:before{content:"\F630"}.mdi-account-settings-outline:before{content:"\F00F4"}.mdi-account-star:before{content:"\F017"}.mdi-account-star-outline:before{content:"\FBC4"}.mdi-account-supervisor:before{content:"\FA8A"}.mdi-account-supervisor-circle:before{content:"\FA8B"}.mdi-account-supervisor-outline:before{content:"\F0158"}.mdi-account-switch:before{content:"\F019"}.mdi-account-tie:before{content:"\FCBF"}.mdi-account-tie-outline:before{content:"\F00F5"}.mdi-account-tie-voice:before{content:"\F0333"}.mdi-account-tie-voice-off:before{content:"\F0335"}.mdi-account-tie-voice-off-outline:before{content:"\F0336"}.mdi-account-tie-voice-outline:before{content:"\F0334"}.mdi-accusoft:before{content:"\F849"}.mdi-adjust:before{content:"\F01A"}.mdi-adobe:before{content:"\F935"}.mdi-adobe-acrobat:before{content:"\FFBD"}.mdi-air-conditioner:before{content:"\F01B"}.mdi-air-filter:before{content:"\FD1F"}.mdi-air-horn:before{content:"\FD88"}.mdi-air-humidifier:before{content:"\F00C4"}.mdi-air-purifier:before{content:"\FD20"}.mdi-airbag:before{content:"\FBC5"}.mdi-airballoon:before{content:"\F01C"}.mdi-airballoon-outline:before{content:"\F002D"}.mdi-airplane:before{content:"\F01D"}.mdi-airplane-landing:before{content:"\F5D4"}.mdi-airplane-off:before{content:"\F01E"}.mdi-airplane-takeoff:before{content:"\F5D5"}.mdi-airplay:before{content:"\F01F"}.mdi-airport:before{content:"\F84A"}.mdi-alarm:before{content:"\F020"}.mdi-alarm-bell:before{content:"\F78D"}.mdi-alarm-check:before{content:"\F021"}.mdi-alarm-light:before{content:"\F78E"}.mdi-alarm-light-outline:before{content:"\FBC6"}.mdi-alarm-multiple:before{content:"\F022"}.mdi-alarm-note:before{content:"\FE8E"}.mdi-alarm-note-off:before{content:"\FE8F"}.mdi-alarm-off:before{content:"\F023"}.mdi-alarm-plus:before{content:"\F024"}.mdi-alarm-snooze:before{content:"\F68D"}.mdi-album:before{content:"\F025"}.mdi-alert:before{content:"\F026"}.mdi-alert-box:before{content:"\F027"}.mdi-alert-box-outline:before{content:"\FCC0"}.mdi-alert-circle:before{content:"\F028"}.mdi-alert-circle-check:before{content:"\F0218"}.mdi-alert-circle-check-outline:before{content:"\F0219"}.mdi-alert-circle-outline:before{content:"\F5D6"}.mdi-alert-decagram:before{content:"\F6BC"}.mdi-alert-decagram-outline:before{content:"\FCC1"}.mdi-alert-octagon:before{content:"\F029"}.mdi-alert-octagon-outline:before{content:"\FCC2"}.mdi-alert-octagram:before{content:"\F766"}.mdi-alert-octagram-outline:before{content:"\FCC3"}.mdi-alert-outline:before{content:"\F02A"}.mdi-alert-rhombus:before{content:"\F01F9"}.mdi-alert-rhombus-outline:before{content:"\F01FA"}.mdi-alien:before{content:"\F899"}.mdi-alien-outline:before{content:"\F00F6"}.mdi-align-horizontal-center:before{content:"\F01EE"}.mdi-align-horizontal-left:before{content:"\F01ED"}.mdi-align-horizontal-right:before{content:"\F01EF"}.mdi-align-vertical-bottom:before{content:"\F01F0"}.mdi-align-vertical-center:before{content:"\F01F1"}.mdi-align-vertical-top:before{content:"\F01F2"}.mdi-all-inclusive:before{content:"\F6BD"}.mdi-allergy:before{content:"\F0283"}.mdi-alpha:before{content:"\F02B"}.mdi-alpha-a:before{content:"\41"}.mdi-alpha-a-box:before{content:"\FAED"}.mdi-alpha-a-box-outline:before{content:"\FBC7"}.mdi-alpha-a-circle:before{content:"\FBC8"}.mdi-alpha-a-circle-outline:before{content:"\FBC9"}.mdi-alpha-b:before{content:"\42"}.mdi-alpha-b-box:before{content:"\FAEE"}.mdi-alpha-b-box-outline:before{content:"\FBCA"}.mdi-alpha-b-circle:before{content:"\FBCB"}.mdi-alpha-b-circle-outline:before{content:"\FBCC"}.mdi-alpha-c:before{content:"\43"}.mdi-alpha-c-box:before{content:"\FAEF"}.mdi-alpha-c-box-outline:before{content:"\FBCD"}.mdi-alpha-c-circle:before{content:"\FBCE"}.mdi-alpha-c-circle-outline:before{content:"\FBCF"}.mdi-alpha-d:before{content:"\44"}.mdi-alpha-d-box:before{content:"\FAF0"}.mdi-alpha-d-box-outline:before{content:"\FBD0"}.mdi-alpha-d-circle:before{content:"\FBD1"}.mdi-alpha-d-circle-outline:before{content:"\FBD2"}.mdi-alpha-e:before{content:"\45"}.mdi-alpha-e-box:before{content:"\FAF1"}.mdi-alpha-e-box-outline:before{content:"\FBD3"}.mdi-alpha-e-circle:before{content:"\FBD4"}.mdi-alpha-e-circle-outline:before{content:"\FBD5"}.mdi-alpha-f:before{content:"\46"}.mdi-alpha-f-box:before{content:"\FAF2"}.mdi-alpha-f-box-outline:before{content:"\FBD6"}.mdi-alpha-f-circle:before{content:"\FBD7"}.mdi-alpha-f-circle-outline:before{content:"\FBD8"}.mdi-alpha-g:before{content:"\47"}.mdi-alpha-g-box:before{content:"\FAF3"}.mdi-alpha-g-box-outline:before{content:"\FBD9"}.mdi-alpha-g-circle:before{content:"\FBDA"}.mdi-alpha-g-circle-outline:before{content:"\FBDB"}.mdi-alpha-h:before{content:"\48"}.mdi-alpha-h-box:before{content:"\FAF4"}.mdi-alpha-h-box-outline:before{content:"\FBDC"}.mdi-alpha-h-circle:before{content:"\FBDD"}.mdi-alpha-h-circle-outline:before{content:"\FBDE"}.mdi-alpha-i:before{content:"\49"}.mdi-alpha-i-box:before{content:"\FAF5"}.mdi-alpha-i-box-outline:before{content:"\FBDF"}.mdi-alpha-i-circle:before{content:"\FBE0"}.mdi-alpha-i-circle-outline:before{content:"\FBE1"}.mdi-alpha-j:before{content:"\4A"}.mdi-alpha-j-box:before{content:"\FAF6"}.mdi-alpha-j-box-outline:before{content:"\FBE2"}.mdi-alpha-j-circle:before{content:"\FBE3"}.mdi-alpha-j-circle-outline:before{content:"\FBE4"}.mdi-alpha-k:before{content:"\4B"}.mdi-alpha-k-box:before{content:"\FAF7"}.mdi-alpha-k-box-outline:before{content:"\FBE5"}.mdi-alpha-k-circle:before{content:"\FBE6"}.mdi-alpha-k-circle-outline:before{content:"\FBE7"}.mdi-alpha-l:before{content:"\4C"}.mdi-alpha-l-box:before{content:"\FAF8"}.mdi-alpha-l-box-outline:before{content:"\FBE8"}.mdi-alpha-l-circle:before{content:"\FBE9"}.mdi-alpha-l-circle-outline:before{content:"\FBEA"}.mdi-alpha-m:before{content:"\4D"}.mdi-alpha-m-box:before{content:"\FAF9"}.mdi-alpha-m-box-outline:before{content:"\FBEB"}.mdi-alpha-m-circle:before{content:"\FBEC"}.mdi-alpha-m-circle-outline:before{content:"\FBED"}.mdi-alpha-n:before{content:"\4E"}.mdi-alpha-n-box:before{content:"\FAFA"}.mdi-alpha-n-box-outline:before{content:"\FBEE"}.mdi-alpha-n-circle:before{content:"\FBEF"}.mdi-alpha-n-circle-outline:before{content:"\FBF0"}.mdi-alpha-o:before{content:"\4F"}.mdi-alpha-o-box:before{content:"\FAFB"}.mdi-alpha-o-box-outline:before{content:"\FBF1"}.mdi-alpha-o-circle:before{content:"\FBF2"}.mdi-alpha-o-circle-outline:before{content:"\FBF3"}.mdi-alpha-p:before{content:"\50"}.mdi-alpha-p-box:before{content:"\FAFC"}.mdi-alpha-p-box-outline:before{content:"\FBF4"}.mdi-alpha-p-circle:before{content:"\FBF5"}.mdi-alpha-p-circle-outline:before{content:"\FBF6"}.mdi-alpha-q:before{content:"\51"}.mdi-alpha-q-box:before{content:"\FAFD"}.mdi-alpha-q-box-outline:before{content:"\FBF7"}.mdi-alpha-q-circle:before{content:"\FBF8"}.mdi-alpha-q-circle-outline:before{content:"\FBF9"}.mdi-alpha-r:before{content:"\52"}.mdi-alpha-r-box:before{content:"\FAFE"}.mdi-alpha-r-box-outline:before{content:"\FBFA"}.mdi-alpha-r-circle:before{content:"\FBFB"}.mdi-alpha-r-circle-outline:before{content:"\FBFC"}.mdi-alpha-s:before{content:"\53"}.mdi-alpha-s-box:before{content:"\FAFF"}.mdi-alpha-s-box-outline:before{content:"\FBFD"}.mdi-alpha-s-circle:before{content:"\FBFE"}.mdi-alpha-s-circle-outline:before{content:"\FBFF"}.mdi-alpha-t:before{content:"\54"}.mdi-alpha-t-box:before{content:"\FB00"}.mdi-alpha-t-box-outline:before{content:"\FC00"}.mdi-alpha-t-circle:before{content:"\FC01"}.mdi-alpha-t-circle-outline:before{content:"\FC02"}.mdi-alpha-u:before{content:"\55"}.mdi-alpha-u-box:before{content:"\FB01"}.mdi-alpha-u-box-outline:before{content:"\FC03"}.mdi-alpha-u-circle:before{content:"\FC04"}.mdi-alpha-u-circle-outline:before{content:"\FC05"}.mdi-alpha-v:before{content:"\56"}.mdi-alpha-v-box:before{content:"\FB02"}.mdi-alpha-v-box-outline:before{content:"\FC06"}.mdi-alpha-v-circle:before{content:"\FC07"}.mdi-alpha-v-circle-outline:before{content:"\FC08"}.mdi-alpha-w:before{content:"\57"}.mdi-alpha-w-box:before{content:"\FB03"}.mdi-alpha-w-box-outline:before{content:"\FC09"}.mdi-alpha-w-circle:before{content:"\FC0A"}.mdi-alpha-w-circle-outline:before{content:"\FC0B"}.mdi-alpha-x:before{content:"\58"}.mdi-alpha-x-box:before{content:"\FB04"}.mdi-alpha-x-box-outline:before{content:"\FC0C"}.mdi-alpha-x-circle:before{content:"\FC0D"}.mdi-alpha-x-circle-outline:before{content:"\FC0E"}.mdi-alpha-y:before{content:"\59"}.mdi-alpha-y-box:before{content:"\FB05"}.mdi-alpha-y-box-outline:before{content:"\FC0F"}.mdi-alpha-y-circle:before{content:"\FC10"}.mdi-alpha-y-circle-outline:before{content:"\FC11"}.mdi-alpha-z:before{content:"\5A"}.mdi-alpha-z-box:before{content:"\FB06"}.mdi-alpha-z-box-outline:before{content:"\FC12"}.mdi-alpha-z-circle:before{content:"\FC13"}.mdi-alpha-z-circle-outline:before{content:"\FC14"}.mdi-alphabet-aurebesh:before{content:"\F0357"}.mdi-alphabet-cyrillic:before{content:"\F0358"}.mdi-alphabet-greek:before{content:"\F0359"}.mdi-alphabet-latin:before{content:"\F035A"}.mdi-alphabet-piqad:before{content:"\F035B"}.mdi-alphabet-tengwar:before{content:"\F0362"}.mdi-alphabetical:before{content:"\F02C"}.mdi-alphabetical-off:before{content:"\F002E"}.mdi-alphabetical-variant:before{content:"\F002F"}.mdi-alphabetical-variant-off:before{content:"\F0030"}.mdi-altimeter:before{content:"\F5D7"}.mdi-amazon:before{content:"\F02D"}.mdi-amazon-alexa:before{content:"\F8C5"}.mdi-amazon-drive:before{content:"\F02E"}.mdi-ambulance:before{content:"\F02F"}.mdi-ammunition:before{content:"\FCC4"}.mdi-ampersand:before{content:"\FA8C"}.mdi-amplifier:before{content:"\F030"}.mdi-amplifier-off:before{content:"\F01E0"}.mdi-anchor:before{content:"\F031"}.mdi-android:before{content:"\F032"}.mdi-android-auto:before{content:"\FA8D"}.mdi-android-debug-bridge:before{content:"\F033"}.mdi-android-head:before{content:"\F78F"}.mdi-android-messages:before{content:"\FD21"}.mdi-android-studio:before{content:"\F034"}.mdi-angle-acute:before{content:"\F936"}.mdi-angle-obtuse:before{content:"\F937"}.mdi-angle-right:before{content:"\F938"}.mdi-angular:before{content:"\F6B1"}.mdi-angularjs:before{content:"\F6BE"}.mdi-animation:before{content:"\F5D8"}.mdi-animation-outline:before{content:"\FA8E"}.mdi-animation-play:before{content:"\F939"}.mdi-animation-play-outline:before{content:"\FA8F"}.mdi-ansible:before{content:"\F00C5"}.mdi-antenna:before{content:"\F0144"}.mdi-anvil:before{content:"\F89A"}.mdi-apache-kafka:before{content:"\F0031"}.mdi-api:before{content:"\F00C6"}.mdi-api-off:before{content:"\F0282"}.mdi-apple:before{content:"\F035"}.mdi-apple-finder:before{content:"\F036"}.mdi-apple-icloud:before{content:"\F038"}.mdi-apple-ios:before{content:"\F037"}.mdi-apple-keyboard-caps:before{content:"\F632"}.mdi-apple-keyboard-command:before{content:"\F633"}.mdi-apple-keyboard-control:before{content:"\F634"}.mdi-apple-keyboard-option:before{content:"\F635"}.mdi-apple-keyboard-shift:before{content:"\F636"}.mdi-apple-safari:before{content:"\F039"}.mdi-application:before{content:"\F614"}.mdi-application-export:before{content:"\FD89"}.mdi-application-import:before{content:"\FD8A"}.mdi-approximately-equal:before{content:"\FFBE"}.mdi-approximately-equal-box:before{content:"\FFBF"}.mdi-apps:before{content:"\F03B"}.mdi-apps-box:before{content:"\FD22"}.mdi-arch:before{content:"\F8C6"}.mdi-archive:before{content:"\F03C"}.mdi-archive-arrow-down:before{content:"\F0284"}.mdi-archive-arrow-down-outline:before{content:"\F0285"}.mdi-archive-arrow-up:before{content:"\F0286"}.mdi-archive-arrow-up-outline:before{content:"\F0287"}.mdi-archive-outline:before{content:"\F0239"}.mdi-arm-flex:before{content:"\F008F"}.mdi-arm-flex-outline:before{content:"\F0090"}.mdi-arrange-bring-forward:before{content:"\F03D"}.mdi-arrange-bring-to-front:before{content:"\F03E"}.mdi-arrange-send-backward:before{content:"\F03F"}.mdi-arrange-send-to-back:before{content:"\F040"}.mdi-arrow-all:before{content:"\F041"}.mdi-arrow-bottom-left:before{content:"\F042"}.mdi-arrow-bottom-left-bold-outline:before{content:"\F9B6"}.mdi-arrow-bottom-left-thick:before{content:"\F9B7"}.mdi-arrow-bottom-right:before{content:"\F043"}.mdi-arrow-bottom-right-bold-outline:before{content:"\F9B8"}.mdi-arrow-bottom-right-thick:before{content:"\F9B9"}.mdi-arrow-collapse:before{content:"\F615"}.mdi-arrow-collapse-all:before{content:"\F044"}.mdi-arrow-collapse-down:before{content:"\F791"}.mdi-arrow-collapse-horizontal:before{content:"\F84B"}.mdi-arrow-collapse-left:before{content:"\F792"}.mdi-arrow-collapse-right:before{content:"\F793"}.mdi-arrow-collapse-up:before{content:"\F794"}.mdi-arrow-collapse-vertical:before{content:"\F84C"}.mdi-arrow-decision:before{content:"\F9BA"}.mdi-arrow-decision-auto:before{content:"\F9BB"}.mdi-arrow-decision-auto-outline:before{content:"\F9BC"}.mdi-arrow-decision-outline:before{content:"\F9BD"}.mdi-arrow-down:before{content:"\F045"}.mdi-arrow-down-bold:before{content:"\F72D"}.mdi-arrow-down-bold-box:before{content:"\F72E"}.mdi-arrow-down-bold-box-outline:before{content:"\F72F"}.mdi-arrow-down-bold-circle:before{content:"\F047"}.mdi-arrow-down-bold-circle-outline:before{content:"\F048"}.mdi-arrow-down-bold-hexagon-outline:before{content:"\F049"}.mdi-arrow-down-bold-outline:before{content:"\F9BE"}.mdi-arrow-down-box:before{content:"\F6BF"}.mdi-arrow-down-circle:before{content:"\FCB7"}.mdi-arrow-down-circle-outline:before{content:"\FCB8"}.mdi-arrow-down-drop-circle:before{content:"\F04A"}.mdi-arrow-down-drop-circle-outline:before{content:"\F04B"}.mdi-arrow-down-thick:before{content:"\F046"}.mdi-arrow-expand:before{content:"\F616"}.mdi-arrow-expand-all:before{content:"\F04C"}.mdi-arrow-expand-down:before{content:"\F795"}.mdi-arrow-expand-horizontal:before{content:"\F84D"}.mdi-arrow-expand-left:before{content:"\F796"}.mdi-arrow-expand-right:before{content:"\F797"}.mdi-arrow-expand-up:before{content:"\F798"}.mdi-arrow-expand-vertical:before{content:"\F84E"}.mdi-arrow-horizontal-lock:before{content:"\F0186"}.mdi-arrow-left:before{content:"\F04D"}.mdi-arrow-left-bold:before{content:"\F730"}.mdi-arrow-left-bold-box:before{content:"\F731"}.mdi-arrow-left-bold-box-outline:before{content:"\F732"}.mdi-arrow-left-bold-circle:before{content:"\F04F"}.mdi-arrow-left-bold-circle-outline:before{content:"\F050"}.mdi-arrow-left-bold-hexagon-outline:before{content:"\F051"}.mdi-arrow-left-bold-outline:before{content:"\F9BF"}.mdi-arrow-left-box:before{content:"\F6C0"}.mdi-arrow-left-circle:before{content:"\FCB9"}.mdi-arrow-left-circle-outline:before{content:"\FCBA"}.mdi-arrow-left-drop-circle:before{content:"\F052"}.mdi-arrow-left-drop-circle-outline:before{content:"\F053"}.mdi-arrow-left-right:before{content:"\FE90"}.mdi-arrow-left-right-bold:before{content:"\FE91"}.mdi-arrow-left-right-bold-outline:before{content:"\F9C0"}.mdi-arrow-left-thick:before{content:"\F04E"}.mdi-arrow-right:before{content:"\F054"}.mdi-arrow-right-bold:before{content:"\F733"}.mdi-arrow-right-bold-box:before{content:"\F734"}.mdi-arrow-right-bold-box-outline:before{content:"\F735"}.mdi-arrow-right-bold-circle:before{content:"\F056"}.mdi-arrow-right-bold-circle-outline:before{content:"\F057"}.mdi-arrow-right-bold-hexagon-outline:before{content:"\F058"}.mdi-arrow-right-bold-outline:before{content:"\F9C1"}.mdi-arrow-right-box:before{content:"\F6C1"}.mdi-arrow-right-circle:before{content:"\FCBB"}.mdi-arrow-right-circle-outline:before{content:"\FCBC"}.mdi-arrow-right-drop-circle:before{content:"\F059"}.mdi-arrow-right-drop-circle-outline:before{content:"\F05A"}.mdi-arrow-right-thick:before{content:"\F055"}.mdi-arrow-split-horizontal:before{content:"\F93A"}.mdi-arrow-split-vertical:before{content:"\F93B"}.mdi-arrow-top-left:before{content:"\F05B"}.mdi-arrow-top-left-bold-outline:before{content:"\F9C2"}.mdi-arrow-top-left-bottom-right:before{content:"\FE92"}.mdi-arrow-top-left-bottom-right-bold:before{content:"\FE93"}.mdi-arrow-top-left-thick:before{content:"\F9C3"}.mdi-arrow-top-right:before{content:"\F05C"}.mdi-arrow-top-right-bold-outline:before{content:"\F9C4"}.mdi-arrow-top-right-bottom-left:before{content:"\FE94"}.mdi-arrow-top-right-bottom-left-bold:before{content:"\FE95"}.mdi-arrow-top-right-thick:before{content:"\F9C5"}.mdi-arrow-up:before{content:"\F05D"}.mdi-arrow-up-bold:before{content:"\F736"}.mdi-arrow-up-bold-box:before{content:"\F737"}.mdi-arrow-up-bold-box-outline:before{content:"\F738"}.mdi-arrow-up-bold-circle:before{content:"\F05F"}.mdi-arrow-up-bold-circle-outline:before{content:"\F060"}.mdi-arrow-up-bold-hexagon-outline:before{content:"\F061"}.mdi-arrow-up-bold-outline:before{content:"\F9C6"}.mdi-arrow-up-box:before{content:"\F6C2"}.mdi-arrow-up-circle:before{content:"\FCBD"}.mdi-arrow-up-circle-outline:before{content:"\FCBE"}.mdi-arrow-up-down:before{content:"\FE96"}.mdi-arrow-up-down-bold:before{content:"\FE97"}.mdi-arrow-up-down-bold-outline:before{content:"\F9C7"}.mdi-arrow-up-drop-circle:before{content:"\F062"}.mdi-arrow-up-drop-circle-outline:before{content:"\F063"}.mdi-arrow-up-thick:before{content:"\F05E"}.mdi-arrow-vertical-lock:before{content:"\F0187"}.mdi-artist:before{content:"\F802"}.mdi-artist-outline:before{content:"\FCC5"}.mdi-artstation:before{content:"\FB37"}.mdi-aspect-ratio:before{content:"\FA23"}.mdi-assistant:before{content:"\F064"}.mdi-asterisk:before{content:"\F6C3"}.mdi-at:before{content:"\F065"}.mdi-atlassian:before{content:"\F803"}.mdi-atm:before{content:"\FD23"}.mdi-atom:before{content:"\F767"}.mdi-atom-variant:before{content:"\FE98"}.mdi-attachment:before{content:"\F066"}.mdi-audio-video:before{content:"\F93C"}.mdi-audio-video-off:before{content:"\F01E1"}.mdi-audiobook:before{content:"\F067"}.mdi-augmented-reality:before{content:"\F84F"}.mdi-auto-download:before{content:"\F03A9"}.mdi-auto-fix:before{content:"\F068"}.mdi-auto-upload:before{content:"\F069"}.mdi-autorenew:before{content:"\F06A"}.mdi-av-timer:before{content:"\F06B"}.mdi-aws:before{content:"\FDF2"}.mdi-axe:before{content:"\F8C7"}.mdi-axis:before{content:"\FD24"}.mdi-axis-arrow:before{content:"\FD25"}.mdi-axis-arrow-lock:before{content:"\FD26"}.mdi-axis-lock:before{content:"\FD27"}.mdi-axis-x-arrow:before{content:"\FD28"}.mdi-axis-x-arrow-lock:before{content:"\FD29"}.mdi-axis-x-rotate-clockwise:before{content:"\FD2A"}.mdi-axis-x-rotate-counterclockwise:before{content:"\FD2B"}.mdi-axis-x-y-arrow-lock:before{content:"\FD2C"}.mdi-axis-y-arrow:before{content:"\FD2D"}.mdi-axis-y-arrow-lock:before{content:"\FD2E"}.mdi-axis-y-rotate-clockwise:before{content:"\FD2F"}.mdi-axis-y-rotate-counterclockwise:before{content:"\FD30"}.mdi-axis-z-arrow:before{content:"\FD31"}.mdi-axis-z-arrow-lock:before{content:"\FD32"}.mdi-axis-z-rotate-clockwise:before{content:"\FD33"}.mdi-axis-z-rotate-counterclockwise:before{content:"\FD34"}.mdi-azure:before{content:"\F804"}.mdi-azure-devops:before{content:"\F0091"}.mdi-babel:before{content:"\FA24"}.mdi-baby:before{content:"\F06C"}.mdi-baby-bottle:before{content:"\FF56"}.mdi-baby-bottle-outline:before{content:"\FF57"}.mdi-baby-carriage:before{content:"\F68E"}.mdi-baby-carriage-off:before{content:"\FFC0"}.mdi-baby-face:before{content:"\FE99"}.mdi-baby-face-outline:before{content:"\FE9A"}.mdi-backburger:before{content:"\F06D"}.mdi-backspace:before{content:"\F06E"}.mdi-backspace-outline:before{content:"\FB38"}.mdi-backspace-reverse:before{content:"\FE9B"}.mdi-backspace-reverse-outline:before{content:"\FE9C"}.mdi-backup-restore:before{content:"\F06F"}.mdi-bacteria:before{content:"\FEF2"}.mdi-bacteria-outline:before{content:"\FEF3"}.mdi-badminton:before{content:"\F850"}.mdi-bag-carry-on:before{content:"\FF58"}.mdi-bag-carry-on-check:before{content:"\FD41"}.mdi-bag-carry-on-off:before{content:"\FF59"}.mdi-bag-checked:before{content:"\FF5A"}.mdi-bag-personal:before{content:"\FDF3"}.mdi-bag-personal-off:before{content:"\FDF4"}.mdi-bag-personal-off-outline:before{content:"\FDF5"}.mdi-bag-personal-outline:before{content:"\FDF6"}.mdi-baguette:before{content:"\FF5B"}.mdi-balloon:before{content:"\FA25"}.mdi-ballot:before{content:"\F9C8"}.mdi-ballot-outline:before{content:"\F9C9"}.mdi-ballot-recount:before{content:"\FC15"}.mdi-ballot-recount-outline:before{content:"\FC16"}.mdi-bandage:before{content:"\FD8B"}.mdi-bandcamp:before{content:"\F674"}.mdi-bank:before{content:"\F070"}.mdi-bank-minus:before{content:"\FD8C"}.mdi-bank-outline:before{content:"\FE9D"}.mdi-bank-plus:before{content:"\FD8D"}.mdi-bank-remove:before{content:"\FD8E"}.mdi-bank-transfer:before{content:"\FA26"}.mdi-bank-transfer-in:before{content:"\FA27"}.mdi-bank-transfer-out:before{content:"\FA28"}.mdi-barcode:before{content:"\F071"}.mdi-barcode-off:before{content:"\F0261"}.mdi-barcode-scan:before{content:"\F072"}.mdi-barley:before{content:"\F073"}.mdi-barley-off:before{content:"\FB39"}.mdi-barn:before{content:"\FB3A"}.mdi-barrel:before{content:"\F074"}.mdi-baseball:before{content:"\F851"}.mdi-baseball-bat:before{content:"\F852"}.mdi-basecamp:before{content:"\F075"}.mdi-bash:before{content:"\F01AE"}.mdi-basket:before{content:"\F076"}.mdi-basket-fill:before{content:"\F077"}.mdi-basket-outline:before{content:"\F01AC"}.mdi-basket-unfill:before{content:"\F078"}.mdi-basketball:before{content:"\F805"}.mdi-basketball-hoop:before{content:"\FC17"}.mdi-basketball-hoop-outline:before{content:"\FC18"}.mdi-bat:before{content:"\FB3B"}.mdi-battery:before{content:"\F079"}.mdi-battery-10:before{content:"\F07A"}.mdi-battery-10-bluetooth:before{content:"\F93D"}.mdi-battery-20:before{content:"\F07B"}.mdi-battery-20-bluetooth:before{content:"\F93E"}.mdi-battery-30:before{content:"\F07C"}.mdi-battery-30-bluetooth:before{content:"\F93F"}.mdi-battery-40:before{content:"\F07D"}.mdi-battery-40-bluetooth:before{content:"\F940"}.mdi-battery-50:before{content:"\F07E"}.mdi-battery-50-bluetooth:before{content:"\F941"}.mdi-battery-60:before{content:"\F07F"}.mdi-battery-60-bluetooth:before{content:"\F942"}.mdi-battery-70:before{content:"\F080"}.mdi-battery-70-bluetooth:before{content:"\F943"}.mdi-battery-80:before{content:"\F081"}.mdi-battery-80-bluetooth:before{content:"\F944"}.mdi-battery-90:before{content:"\F082"}.mdi-battery-90-bluetooth:before{content:"\F945"}.mdi-battery-alert:before{content:"\F083"}.mdi-battery-alert-bluetooth:before{content:"\F946"}.mdi-battery-alert-variant:before{content:"\F00F7"}.mdi-battery-alert-variant-outline:before{content:"\F00F8"}.mdi-battery-bluetooth:before{content:"\F947"}.mdi-battery-bluetooth-variant:before{content:"\F948"}.mdi-battery-charging:before{content:"\F084"}.mdi-battery-charging-10:before{content:"\F89B"}.mdi-battery-charging-100:before{content:"\F085"}.mdi-battery-charging-20:before{content:"\F086"}.mdi-battery-charging-30:before{content:"\F087"}.mdi-battery-charging-40:before{content:"\F088"}.mdi-battery-charging-50:before{content:"\F89C"}.mdi-battery-charging-60:before{content:"\F089"}.mdi-battery-charging-70:before{content:"\F89D"}.mdi-battery-charging-80:before{content:"\F08A"}.mdi-battery-charging-90:before{content:"\F08B"}.mdi-battery-charging-high:before{content:"\F02D1"}.mdi-battery-charging-low:before{content:"\F02CF"}.mdi-battery-charging-medium:before{content:"\F02D0"}.mdi-battery-charging-outline:before{content:"\F89E"}.mdi-battery-charging-wireless:before{content:"\F806"}.mdi-battery-charging-wireless-10:before{content:"\F807"}.mdi-battery-charging-wireless-20:before{content:"\F808"}.mdi-battery-charging-wireless-30:before{content:"\F809"}.mdi-battery-charging-wireless-40:before{content:"\F80A"}.mdi-battery-charging-wireless-50:before{content:"\F80B"}.mdi-battery-charging-wireless-60:before{content:"\F80C"}.mdi-battery-charging-wireless-70:before{content:"\F80D"}.mdi-battery-charging-wireless-80:before{content:"\F80E"}.mdi-battery-charging-wireless-90:before{content:"\F80F"}.mdi-battery-charging-wireless-alert:before{content:"\F810"}.mdi-battery-charging-wireless-outline:before{content:"\F811"}.mdi-battery-heart:before{content:"\F023A"}.mdi-battery-heart-outline:before{content:"\F023B"}.mdi-battery-heart-variant:before{content:"\F023C"}.mdi-battery-high:before{content:"\F02CE"}.mdi-battery-low:before{content:"\F02CC"}.mdi-battery-medium:before{content:"\F02CD"}.mdi-battery-minus:before{content:"\F08C"}.mdi-battery-negative:before{content:"\F08D"}.mdi-battery-off:before{content:"\F0288"}.mdi-battery-off-outline:before{content:"\F0289"}.mdi-battery-outline:before{content:"\F08E"}.mdi-battery-plus:before{content:"\F08F"}.mdi-battery-positive:before{content:"\F090"}.mdi-battery-unknown:before{content:"\F091"}.mdi-battery-unknown-bluetooth:before{content:"\F949"}.mdi-battlenet:before{content:"\FB3C"}.mdi-beach:before{content:"\F092"}.mdi-beaker:before{content:"\FCC6"}.mdi-beaker-alert:before{content:"\F0254"}.mdi-beaker-alert-outline:before{content:"\F0255"}.mdi-beaker-check:before{content:"\F0256"}.mdi-beaker-check-outline:before{content:"\F0257"}.mdi-beaker-minus:before{content:"\F0258"}.mdi-beaker-minus-outline:before{content:"\F0259"}.mdi-beaker-outline:before{content:"\F68F"}.mdi-beaker-plus:before{content:"\F025A"}.mdi-beaker-plus-outline:before{content:"\F025B"}.mdi-beaker-question:before{content:"\F025C"}.mdi-beaker-question-outline:before{content:"\F025D"}.mdi-beaker-remove:before{content:"\F025E"}.mdi-beaker-remove-outline:before{content:"\F025F"}.mdi-beats:before{content:"\F097"}.mdi-bed-double:before{content:"\F0092"}.mdi-bed-double-outline:before{content:"\F0093"}.mdi-bed-empty:before{content:"\F89F"}.mdi-bed-king:before{content:"\F0094"}.mdi-bed-king-outline:before{content:"\F0095"}.mdi-bed-queen:before{content:"\F0096"}.mdi-bed-queen-outline:before{content:"\F0097"}.mdi-bed-single:before{content:"\F0098"}.mdi-bed-single-outline:before{content:"\F0099"}.mdi-bee:before{content:"\FFC1"}.mdi-bee-flower:before{content:"\FFC2"}.mdi-beehive-outline:before{content:"\F00F9"}.mdi-beer:before{content:"\F098"}.mdi-beer-outline:before{content:"\F0337"}.mdi-behance:before{content:"\F099"}.mdi-bell:before{content:"\F09A"}.mdi-bell-alert:before{content:"\FD35"}.mdi-bell-alert-outline:before{content:"\FE9E"}.mdi-bell-check:before{content:"\F0210"}.mdi-bell-check-outline:before{content:"\F0211"}.mdi-bell-circle:before{content:"\FD36"}.mdi-bell-circle-outline:before{content:"\FD37"}.mdi-bell-off:before{content:"\F09B"}.mdi-bell-off-outline:before{content:"\FA90"}.mdi-bell-outline:before{content:"\F09C"}.mdi-bell-plus:before{content:"\F09D"}.mdi-bell-plus-outline:before{content:"\FA91"}.mdi-bell-ring:before{content:"\F09E"}.mdi-bell-ring-outline:before{content:"\F09F"}.mdi-bell-sleep:before{content:"\F0A0"}.mdi-bell-sleep-outline:before{content:"\FA92"}.mdi-beta:before{content:"\F0A1"}.mdi-betamax:before{content:"\F9CA"}.mdi-biathlon:before{content:"\FDF7"}.mdi-bible:before{content:"\F0A2"}.mdi-bicycle:before{content:"\F00C7"}.mdi-bicycle-basket:before{content:"\F0260"}.mdi-bike:before{content:"\F0A3"}.mdi-bike-fast:before{content:"\F014A"}.mdi-billboard:before{content:"\F0032"}.mdi-billiards:before{content:"\FB3D"}.mdi-billiards-rack:before{content:"\FB3E"}.mdi-bing:before{content:"\F0A4"}.mdi-binoculars:before{content:"\F0A5"}.mdi-bio:before{content:"\F0A6"}.mdi-biohazard:before{content:"\F0A7"}.mdi-bitbucket:before{content:"\F0A8"}.mdi-bitcoin:before{content:"\F812"}.mdi-black-mesa:before{content:"\F0A9"}.mdi-blackberry:before{content:"\F0AA"}.mdi-blender:before{content:"\FCC7"}.mdi-blender-software:before{content:"\F0AB"}.mdi-blinds:before{content:"\F0AC"}.mdi-blinds-open:before{content:"\F0033"}.mdi-block-helper:before{content:"\F0AD"}.mdi-blogger:before{content:"\F0AE"}.mdi-blood-bag:before{content:"\FCC8"}.mdi-bluetooth:before{content:"\F0AF"}.mdi-bluetooth-audio:before{content:"\F0B0"}.mdi-bluetooth-connect:before{content:"\F0B1"}.mdi-bluetooth-off:before{content:"\F0B2"}.mdi-bluetooth-settings:before{content:"\F0B3"}.mdi-bluetooth-transfer:before{content:"\F0B4"}.mdi-blur:before{content:"\F0B5"}.mdi-blur-linear:before{content:"\F0B6"}.mdi-blur-off:before{content:"\F0B7"}.mdi-blur-radial:before{content:"\F0B8"}.mdi-bolnisi-cross:before{content:"\FCC9"}.mdi-bolt:before{content:"\FD8F"}.mdi-bomb:before{content:"\F690"}.mdi-bomb-off:before{content:"\F6C4"}.mdi-bone:before{content:"\F0B9"}.mdi-book:before{content:"\F0BA"}.mdi-book-information-variant:before{content:"\F009A"}.mdi-book-lock:before{content:"\F799"}.mdi-book-lock-open:before{content:"\F79A"}.mdi-book-minus:before{content:"\F5D9"}.mdi-book-minus-multiple:before{content:"\FA93"}.mdi-book-multiple:before{content:"\F0BB"}.mdi-book-open:before{content:"\F0BD"}.mdi-book-open-outline:before{content:"\FB3F"}.mdi-book-open-page-variant:before{content:"\F5DA"}.mdi-book-open-variant:before{content:"\F0BE"}.mdi-book-outline:before{content:"\FB40"}.mdi-book-play:before{content:"\FE9F"}.mdi-book-play-outline:before{content:"\FEA0"}.mdi-book-plus:before{content:"\F5DB"}.mdi-book-plus-multiple:before{content:"\FA94"}.mdi-book-remove:before{content:"\FA96"}.mdi-book-remove-multiple:before{content:"\FA95"}.mdi-book-search:before{content:"\FEA1"}.mdi-book-search-outline:before{content:"\FEA2"}.mdi-book-variant:before{content:"\F0BF"}.mdi-book-variant-multiple:before{content:"\F0BC"}.mdi-bookmark:before{content:"\F0C0"}.mdi-bookmark-check:before{content:"\F0C1"}.mdi-bookmark-check-outline:before{content:"\F03A6"}.mdi-bookmark-minus:before{content:"\F9CB"}.mdi-bookmark-minus-outline:before{content:"\F9CC"}.mdi-bookmark-multiple:before{content:"\FDF8"}.mdi-bookmark-multiple-outline:before{content:"\FDF9"}.mdi-bookmark-music:before{content:"\F0C2"}.mdi-bookmark-music-outline:before{content:"\F03A4"}.mdi-bookmark-off:before{content:"\F9CD"}.mdi-bookmark-off-outline:before{content:"\F9CE"}.mdi-bookmark-outline:before{content:"\F0C3"}.mdi-bookmark-plus:before{content:"\F0C5"}.mdi-bookmark-plus-outline:before{content:"\F0C4"}.mdi-bookmark-remove:before{content:"\F0C6"}.mdi-bookmark-remove-outline:before{content:"\F03A5"}.mdi-bookshelf:before{content:"\F028A"}.mdi-boom-gate:before{content:"\FEA3"}.mdi-boom-gate-alert:before{content:"\FEA4"}.mdi-boom-gate-alert-outline:before{content:"\FEA5"}.mdi-boom-gate-down:before{content:"\FEA6"}.mdi-boom-gate-down-outline:before{content:"\FEA7"}.mdi-boom-gate-outline:before{content:"\FEA8"}.mdi-boom-gate-up:before{content:"\FEA9"}.mdi-boom-gate-up-outline:before{content:"\FEAA"}.mdi-boombox:before{content:"\F5DC"}.mdi-boomerang:before{content:"\F00FA"}.mdi-bootstrap:before{content:"\F6C5"}.mdi-border-all:before{content:"\F0C7"}.mdi-border-all-variant:before{content:"\F8A0"}.mdi-border-bottom:before{content:"\F0C8"}.mdi-border-bottom-variant:before{content:"\F8A1"}.mdi-border-color:before{content:"\F0C9"}.mdi-border-horizontal:before{content:"\F0CA"}.mdi-border-inside:before{content:"\F0CB"}.mdi-border-left:before{content:"\F0CC"}.mdi-border-left-variant:before{content:"\F8A2"}.mdi-border-none:before{content:"\F0CD"}.mdi-border-none-variant:before{content:"\F8A3"}.mdi-border-outside:before{content:"\F0CE"}.mdi-border-right:before{content:"\F0CF"}.mdi-border-right-variant:before{content:"\F8A4"}.mdi-border-style:before{content:"\F0D0"}.mdi-border-top:before{content:"\F0D1"}.mdi-border-top-variant:before{content:"\F8A5"}.mdi-border-vertical:before{content:"\F0D2"}.mdi-bottle-soda:before{content:"\F009B"}.mdi-bottle-soda-classic:before{content:"\F009C"}.mdi-bottle-soda-classic-outline:before{content:"\F038E"}.mdi-bottle-soda-outline:before{content:"\F009D"}.mdi-bottle-tonic:before{content:"\F0159"}.mdi-bottle-tonic-outline:before{content:"\F015A"}.mdi-bottle-tonic-plus:before{content:"\F015B"}.mdi-bottle-tonic-plus-outline:before{content:"\F015C"}.mdi-bottle-tonic-skull:before{content:"\F015D"}.mdi-bottle-tonic-skull-outline:before{content:"\F015E"}.mdi-bottle-wine:before{content:"\F853"}.mdi-bottle-wine-outline:before{content:"\F033B"}.mdi-bow-tie:before{content:"\F677"}.mdi-bowl:before{content:"\F617"}.mdi-bowling:before{content:"\F0D3"}.mdi-box:before{content:"\F0D4"}.mdi-box-cutter:before{content:"\F0D5"}.mdi-box-shadow:before{content:"\F637"}.mdi-boxing-glove:before{content:"\FB41"}.mdi-braille:before{content:"\F9CF"}.mdi-brain:before{content:"\F9D0"}.mdi-bread-slice:before{content:"\FCCA"}.mdi-bread-slice-outline:before{content:"\FCCB"}.mdi-bridge:before{content:"\F618"}.mdi-briefcase:before{content:"\F0D6"}.mdi-briefcase-account:before{content:"\FCCC"}.mdi-briefcase-account-outline:before{content:"\FCCD"}.mdi-briefcase-check:before{content:"\F0D7"}.mdi-briefcase-check-outline:before{content:"\F0349"}.mdi-briefcase-clock:before{content:"\F00FB"}.mdi-briefcase-clock-outline:before{content:"\F00FC"}.mdi-briefcase-download:before{content:"\F0D8"}.mdi-briefcase-download-outline:before{content:"\FC19"}.mdi-briefcase-edit:before{content:"\FA97"}.mdi-briefcase-edit-outline:before{content:"\FC1A"}.mdi-briefcase-minus:before{content:"\FA29"}.mdi-briefcase-minus-outline:before{content:"\FC1B"}.mdi-briefcase-outline:before{content:"\F813"}.mdi-briefcase-plus:before{content:"\FA2A"}.mdi-briefcase-plus-outline:before{content:"\FC1C"}.mdi-briefcase-remove:before{content:"\FA2B"}.mdi-briefcase-remove-outline:before{content:"\FC1D"}.mdi-briefcase-search:before{content:"\FA2C"}.mdi-briefcase-search-outline:before{content:"\FC1E"}.mdi-briefcase-upload:before{content:"\F0D9"}.mdi-briefcase-upload-outline:before{content:"\FC1F"}.mdi-brightness-1:before{content:"\F0DA"}.mdi-brightness-2:before{content:"\F0DB"}.mdi-brightness-3:before{content:"\F0DC"}.mdi-brightness-4:before{content:"\F0DD"}.mdi-brightness-5:before{content:"\F0DE"}.mdi-brightness-6:before{content:"\F0DF"}.mdi-brightness-7:before{content:"\F0E0"}.mdi-brightness-auto:before{content:"\F0E1"}.mdi-brightness-percent:before{content:"\FCCE"}.mdi-broom:before{content:"\F0E2"}.mdi-brush:before{content:"\F0E3"}.mdi-buddhism:before{content:"\F94A"}.mdi-buffer:before{content:"\F619"}.mdi-bug:before{content:"\F0E4"}.mdi-bug-check:before{content:"\FA2D"}.mdi-bug-check-outline:before{content:"\FA2E"}.mdi-bug-outline:before{content:"\FA2F"}.mdi-bugle:before{content:"\FD90"}.mdi-bulldozer:before{content:"\FB07"}.mdi-bullet:before{content:"\FCCF"}.mdi-bulletin-board:before{content:"\F0E5"}.mdi-bullhorn:before{content:"\F0E6"}.mdi-bullhorn-outline:before{content:"\FB08"}.mdi-bullseye:before{content:"\F5DD"}.mdi-bullseye-arrow:before{content:"\F8C8"}.mdi-bulma:before{content:"\F0312"}.mdi-bunk-bed:before{content:"\F032D"}.mdi-bus:before{content:"\F0E7"}.mdi-bus-alert:before{content:"\FA98"}.mdi-bus-articulated-end:before{content:"\F79B"}.mdi-bus-articulated-front:before{content:"\F79C"}.mdi-bus-clock:before{content:"\F8C9"}.mdi-bus-double-decker:before{content:"\F79D"}.mdi-bus-marker:before{content:"\F023D"}.mdi-bus-multiple:before{content:"\FF5C"}.mdi-bus-school:before{content:"\F79E"}.mdi-bus-side:before{content:"\F79F"}.mdi-bus-stop:before{content:"\F0034"}.mdi-bus-stop-covered:before{content:"\F0035"}.mdi-bus-stop-uncovered:before{content:"\F0036"}.mdi-cached:before{content:"\F0E8"}.mdi-cactus:before{content:"\FD91"}.mdi-cake:before{content:"\F0E9"}.mdi-cake-layered:before{content:"\F0EA"}.mdi-cake-variant:before{content:"\F0EB"}.mdi-calculator:before{content:"\F0EC"}.mdi-calculator-variant:before{content:"\FA99"}.mdi-calendar:before{content:"\F0ED"}.mdi-calendar-account:before{content:"\FEF4"}.mdi-calendar-account-outline:before{content:"\FEF5"}.mdi-calendar-alert:before{content:"\FA30"}.mdi-calendar-arrow-left:before{content:"\F015F"}.mdi-calendar-arrow-right:before{content:"\F0160"}.mdi-calendar-blank:before{content:"\F0EE"}.mdi-calendar-blank-multiple:before{content:"\F009E"}.mdi-calendar-blank-outline:before{content:"\FB42"}.mdi-calendar-check:before{content:"\F0EF"}.mdi-calendar-check-outline:before{content:"\FC20"}.mdi-calendar-clock:before{content:"\F0F0"}.mdi-calendar-edit:before{content:"\F8A6"}.mdi-calendar-export:before{content:"\FB09"}.mdi-calendar-heart:before{content:"\F9D1"}.mdi-calendar-import:before{content:"\FB0A"}.mdi-calendar-minus:before{content:"\FD38"}.mdi-calendar-month:before{content:"\FDFA"}.mdi-calendar-month-outline:before{content:"\FDFB"}.mdi-calendar-multiple:before{content:"\F0F1"}.mdi-calendar-multiple-check:before{content:"\F0F2"}.mdi-calendar-multiselect:before{content:"\FA31"}.mdi-calendar-outline:before{content:"\FB43"}.mdi-calendar-plus:before{content:"\F0F3"}.mdi-calendar-question:before{content:"\F691"}.mdi-calendar-range:before{content:"\F678"}.mdi-calendar-range-outline:before{content:"\FB44"}.mdi-calendar-remove:before{content:"\F0F4"}.mdi-calendar-remove-outline:before{content:"\FC21"}.mdi-calendar-repeat:before{content:"\FEAB"}.mdi-calendar-repeat-outline:before{content:"\FEAC"}.mdi-calendar-search:before{content:"\F94B"}.mdi-calendar-star:before{content:"\F9D2"}.mdi-calendar-text:before{content:"\F0F5"}.mdi-calendar-text-outline:before{content:"\FC22"}.mdi-calendar-today:before{content:"\F0F6"}.mdi-calendar-week:before{content:"\FA32"}.mdi-calendar-week-begin:before{content:"\FA33"}.mdi-calendar-weekend:before{content:"\FEF6"}.mdi-calendar-weekend-outline:before{content:"\FEF7"}.mdi-call-made:before{content:"\F0F7"}.mdi-call-merge:before{content:"\F0F8"}.mdi-call-missed:before{content:"\F0F9"}.mdi-call-received:before{content:"\F0FA"}.mdi-call-split:before{content:"\F0FB"}.mdi-camcorder:before{content:"\F0FC"}.mdi-camcorder-box:before{content:"\F0FD"}.mdi-camcorder-box-off:before{content:"\F0FE"}.mdi-camcorder-off:before{content:"\F0FF"}.mdi-camera:before{content:"\F100"}.mdi-camera-account:before{content:"\F8CA"}.mdi-camera-burst:before{content:"\F692"}.mdi-camera-control:before{content:"\FB45"}.mdi-camera-enhance:before{content:"\F101"}.mdi-camera-enhance-outline:before{content:"\FB46"}.mdi-camera-front:before{content:"\F102"}.mdi-camera-front-variant:before{content:"\F103"}.mdi-camera-gopro:before{content:"\F7A0"}.mdi-camera-image:before{content:"\F8CB"}.mdi-camera-iris:before{content:"\F104"}.mdi-camera-metering-center:before{content:"\F7A1"}.mdi-camera-metering-matrix:before{content:"\F7A2"}.mdi-camera-metering-partial:before{content:"\F7A3"}.mdi-camera-metering-spot:before{content:"\F7A4"}.mdi-camera-off:before{content:"\F5DF"}.mdi-camera-outline:before{content:"\FD39"}.mdi-camera-party-mode:before{content:"\F105"}.mdi-camera-plus:before{content:"\FEF8"}.mdi-camera-plus-outline:before{content:"\FEF9"}.mdi-camera-rear:before{content:"\F106"}.mdi-camera-rear-variant:before{content:"\F107"}.mdi-camera-retake:before{content:"\FDFC"}.mdi-camera-retake-outline:before{content:"\FDFD"}.mdi-camera-switch:before{content:"\F108"}.mdi-camera-timer:before{content:"\F109"}.mdi-camera-wireless:before{content:"\FD92"}.mdi-camera-wireless-outline:before{content:"\FD93"}.mdi-campfire:before{content:"\FEFA"}.mdi-cancel:before{content:"\F739"}.mdi-candle:before{content:"\F5E2"}.mdi-candycane:before{content:"\F10A"}.mdi-cannabis:before{content:"\F7A5"}.mdi-caps-lock:before{content:"\FA9A"}.mdi-car:before{content:"\F10B"}.mdi-car-2-plus:before{content:"\F0037"}.mdi-car-3-plus:before{content:"\F0038"}.mdi-car-back:before{content:"\FDFE"}.mdi-car-battery:before{content:"\F10C"}.mdi-car-brake-abs:before{content:"\FC23"}.mdi-car-brake-alert:before{content:"\FC24"}.mdi-car-brake-hold:before{content:"\FD3A"}.mdi-car-brake-parking:before{content:"\FD3B"}.mdi-car-brake-retarder:before{content:"\F0039"}.mdi-car-child-seat:before{content:"\FFC3"}.mdi-car-clutch:before{content:"\F003A"}.mdi-car-connected:before{content:"\F10D"}.mdi-car-convertible:before{content:"\F7A6"}.mdi-car-coolant-level:before{content:"\F003B"}.mdi-car-cruise-control:before{content:"\FD3C"}.mdi-car-defrost-front:before{content:"\FD3D"}.mdi-car-defrost-rear:before{content:"\FD3E"}.mdi-car-door:before{content:"\FB47"}.mdi-car-door-lock:before{content:"\F00C8"}.mdi-car-electric:before{content:"\FB48"}.mdi-car-esp:before{content:"\FC25"}.mdi-car-estate:before{content:"\F7A7"}.mdi-car-hatchback:before{content:"\F7A8"}.mdi-car-info:before{content:"\F01E9"}.mdi-car-key:before{content:"\FB49"}.mdi-car-light-dimmed:before{content:"\FC26"}.mdi-car-light-fog:before{content:"\FC27"}.mdi-car-light-high:before{content:"\FC28"}.mdi-car-limousine:before{content:"\F8CC"}.mdi-car-multiple:before{content:"\FB4A"}.mdi-car-off:before{content:"\FDFF"}.mdi-car-parking-lights:before{content:"\FD3F"}.mdi-car-pickup:before{content:"\F7A9"}.mdi-car-seat:before{content:"\FFC4"}.mdi-car-seat-cooler:before{content:"\FFC5"}.mdi-car-seat-heater:before{content:"\FFC6"}.mdi-car-shift-pattern:before{content:"\FF5D"}.mdi-car-side:before{content:"\F7AA"}.mdi-car-sports:before{content:"\F7AB"}.mdi-car-tire-alert:before{content:"\FC29"}.mdi-car-traction-control:before{content:"\FD40"}.mdi-car-turbocharger:before{content:"\F003C"}.mdi-car-wash:before{content:"\F10E"}.mdi-car-windshield:before{content:"\F003D"}.mdi-car-windshield-outline:before{content:"\F003E"}.mdi-caravan:before{content:"\F7AC"}.mdi-card:before{content:"\FB4B"}.mdi-card-bulleted:before{content:"\FB4C"}.mdi-card-bulleted-off:before{content:"\FB4D"}.mdi-card-bulleted-off-outline:before{content:"\FB4E"}.mdi-card-bulleted-outline:before{content:"\FB4F"}.mdi-card-bulleted-settings:before{content:"\FB50"}.mdi-card-bulleted-settings-outline:before{content:"\FB51"}.mdi-card-outline:before{content:"\FB52"}.mdi-card-plus:before{content:"\F022A"}.mdi-card-plus-outline:before{content:"\F022B"}.mdi-card-search:before{content:"\F009F"}.mdi-card-search-outline:before{content:"\F00A0"}.mdi-card-text:before{content:"\FB53"}.mdi-card-text-outline:before{content:"\FB54"}.mdi-cards:before{content:"\F638"}.mdi-cards-club:before{content:"\F8CD"}.mdi-cards-diamond:before{content:"\F8CE"}.mdi-cards-diamond-outline:before{content:"\F003F"}.mdi-cards-heart:before{content:"\F8CF"}.mdi-cards-outline:before{content:"\F639"}.mdi-cards-playing-outline:before{content:"\F63A"}.mdi-cards-spade:before{content:"\F8D0"}.mdi-cards-variant:before{content:"\F6C6"}.mdi-carrot:before{content:"\F10F"}.mdi-cart:before{content:"\F110"}.mdi-cart-arrow-down:before{content:"\FD42"}.mdi-cart-arrow-right:before{content:"\FC2A"}.mdi-cart-arrow-up:before{content:"\FD43"}.mdi-cart-minus:before{content:"\FD44"}.mdi-cart-off:before{content:"\F66B"}.mdi-cart-outline:before{content:"\F111"}.mdi-cart-plus:before{content:"\F112"}.mdi-cart-remove:before{content:"\FD45"}.mdi-case-sensitive-alt:before{content:"\F113"}.mdi-cash:before{content:"\F114"}.mdi-cash-100:before{content:"\F115"}.mdi-cash-marker:before{content:"\FD94"}.mdi-cash-minus:before{content:"\F028B"}.mdi-cash-multiple:before{content:"\F116"}.mdi-cash-plus:before{content:"\F028C"}.mdi-cash-refund:before{content:"\FA9B"}.mdi-cash-register:before{content:"\FCD0"}.mdi-cash-remove:before{content:"\F028D"}.mdi-cash-usd:before{content:"\F01A1"}.mdi-cash-usd-outline:before{content:"\F117"}.mdi-cassette:before{content:"\F9D3"}.mdi-cast:before{content:"\F118"}.mdi-cast-audio:before{content:"\F0040"}.mdi-cast-connected:before{content:"\F119"}.mdi-cast-education:before{content:"\FE6D"}.mdi-cast-off:before{content:"\F789"}.mdi-castle:before{content:"\F11A"}.mdi-cat:before{content:"\F11B"}.mdi-cctv:before{content:"\F7AD"}.mdi-ceiling-light:before{content:"\F768"}.mdi-cellphone:before{content:"\F11C"}.mdi-cellphone-android:before{content:"\F11D"}.mdi-cellphone-arrow-down:before{content:"\F9D4"}.mdi-cellphone-basic:before{content:"\F11E"}.mdi-cellphone-dock:before{content:"\F11F"}.mdi-cellphone-erase:before{content:"\F94C"}.mdi-cellphone-information:before{content:"\FF5E"}.mdi-cellphone-iphone:before{content:"\F120"}.mdi-cellphone-key:before{content:"\F94D"}.mdi-cellphone-link:before{content:"\F121"}.mdi-cellphone-link-off:before{content:"\F122"}.mdi-cellphone-lock:before{content:"\F94E"}.mdi-cellphone-message:before{content:"\F8D2"}.mdi-cellphone-message-off:before{content:"\F00FD"}.mdi-cellphone-nfc:before{content:"\FEAD"}.mdi-cellphone-nfc-off:before{content:"\F0303"}.mdi-cellphone-off:before{content:"\F94F"}.mdi-cellphone-play:before{content:"\F0041"}.mdi-cellphone-screenshot:before{content:"\FA34"}.mdi-cellphone-settings:before{content:"\F123"}.mdi-cellphone-settings-variant:before{content:"\F950"}.mdi-cellphone-sound:before{content:"\F951"}.mdi-cellphone-text:before{content:"\F8D1"}.mdi-cellphone-wireless:before{content:"\F814"}.mdi-celtic-cross:before{content:"\FCD1"}.mdi-centos:before{content:"\F0145"}.mdi-certificate:before{content:"\F124"}.mdi-certificate-outline:before{content:"\F01B3"}.mdi-chair-rolling:before{content:"\FFBA"}.mdi-chair-school:before{content:"\F125"}.mdi-charity:before{content:"\FC2B"}.mdi-chart-arc:before{content:"\F126"}.mdi-chart-areaspline:before{content:"\F127"}.mdi-chart-areaspline-variant:before{content:"\FEAE"}.mdi-chart-bar:before{content:"\F128"}.mdi-chart-bar-stacked:before{content:"\F769"}.mdi-chart-bell-curve:before{content:"\FC2C"}.mdi-chart-bell-curve-cumulative:before{content:"\FFC7"}.mdi-chart-bubble:before{content:"\F5E3"}.mdi-chart-donut:before{content:"\F7AE"}.mdi-chart-donut-variant:before{content:"\F7AF"}.mdi-chart-gantt:before{content:"\F66C"}.mdi-chart-histogram:before{content:"\F129"}.mdi-chart-line:before{content:"\F12A"}.mdi-chart-line-stacked:before{content:"\F76A"}.mdi-chart-line-variant:before{content:"\F7B0"}.mdi-chart-multiline:before{content:"\F8D3"}.mdi-chart-multiple:before{content:"\F023E"}.mdi-chart-pie:before{content:"\F12B"}.mdi-chart-ppf:before{content:"\F03AB"}.mdi-chart-scatter-plot:before{content:"\FEAF"}.mdi-chart-scatter-plot-hexbin:before{content:"\F66D"}.mdi-chart-snakey:before{content:"\F020A"}.mdi-chart-snakey-variant:before{content:"\F020B"}.mdi-chart-timeline:before{content:"\F66E"}.mdi-chart-timeline-variant:before{content:"\FEB0"}.mdi-chart-tree:before{content:"\FEB1"}.mdi-chat:before{content:"\FB55"}.mdi-chat-alert:before{content:"\FB56"}.mdi-chat-alert-outline:before{content:"\F02F4"}.mdi-chat-outline:before{content:"\FEFB"}.mdi-chat-processing:before{content:"\FB57"}.mdi-chat-processing-outline:before{content:"\F02F5"}.mdi-chat-sleep:before{content:"\F02FC"}.mdi-chat-sleep-outline:before{content:"\F02FD"}.mdi-check:before{content:"\F12C"}.mdi-check-all:before{content:"\F12D"}.mdi-check-bold:before{content:"\FE6E"}.mdi-check-box-multiple-outline:before{content:"\FC2D"}.mdi-check-box-outline:before{content:"\FC2E"}.mdi-check-circle:before{content:"\F5E0"}.mdi-check-circle-outline:before{content:"\F5E1"}.mdi-check-decagram:before{content:"\F790"}.mdi-check-network:before{content:"\FC2F"}.mdi-check-network-outline:before{content:"\FC30"}.mdi-check-outline:before{content:"\F854"}.mdi-check-underline:before{content:"\FE70"}.mdi-check-underline-circle:before{content:"\FE71"}.mdi-check-underline-circle-outline:before{content:"\FE72"}.mdi-checkbook:before{content:"\FA9C"}.mdi-checkbox-blank:before{content:"\F12E"}.mdi-checkbox-blank-circle:before{content:"\F12F"}.mdi-checkbox-blank-circle-outline:before{content:"\F130"}.mdi-checkbox-blank-off:before{content:"\F0317"}.mdi-checkbox-blank-off-outline:before{content:"\F0318"}.mdi-checkbox-blank-outline:before{content:"\F131"}.mdi-checkbox-intermediate:before{content:"\F855"}.mdi-checkbox-marked:before{content:"\F132"}.mdi-checkbox-marked-circle:before{content:"\F133"}.mdi-checkbox-marked-circle-outline:before{content:"\F134"}.mdi-checkbox-marked-outline:before{content:"\F135"}.mdi-checkbox-multiple-blank:before{content:"\F136"}.mdi-checkbox-multiple-blank-circle:before{content:"\F63B"}.mdi-checkbox-multiple-blank-circle-outline:before{content:"\F63C"}.mdi-checkbox-multiple-blank-outline:before{content:"\F137"}.mdi-checkbox-multiple-marked:before{content:"\F138"}.mdi-checkbox-multiple-marked-circle:before{content:"\F63D"}.mdi-checkbox-multiple-marked-circle-outline:before{content:"\F63E"}.mdi-checkbox-multiple-marked-outline:before{content:"\F139"}.mdi-checkerboard:before{content:"\F13A"}.mdi-checkerboard-minus:before{content:"\F022D"}.mdi-checkerboard-plus:before{content:"\F022C"}.mdi-checkerboard-remove:before{content:"\F022E"}.mdi-cheese:before{content:"\F02E4"}.mdi-chef-hat:before{content:"\FB58"}.mdi-chemical-weapon:before{content:"\F13B"}.mdi-chess-bishop:before{content:"\F85B"}.mdi-chess-king:before{content:"\F856"}.mdi-chess-knight:before{content:"\F857"}.mdi-chess-pawn:before{content:"\F858"}.mdi-chess-queen:before{content:"\F859"}.mdi-chess-rook:before{content:"\F85A"}.mdi-chevron-double-down:before{content:"\F13C"}.mdi-chevron-double-left:before{content:"\F13D"}.mdi-chevron-double-right:before{content:"\F13E"}.mdi-chevron-double-up:before{content:"\F13F"}.mdi-chevron-down:before{content:"\F140"}.mdi-chevron-down-box:before{content:"\F9D5"}.mdi-chevron-down-box-outline:before{content:"\F9D6"}.mdi-chevron-down-circle:before{content:"\FB0B"}.mdi-chevron-down-circle-outline:before{content:"\FB0C"}.mdi-chevron-left:before{content:"\F141"}.mdi-chevron-left-box:before{content:"\F9D7"}.mdi-chevron-left-box-outline:before{content:"\F9D8"}.mdi-chevron-left-circle:before{content:"\FB0D"}.mdi-chevron-left-circle-outline:before{content:"\FB0E"}.mdi-chevron-right:before{content:"\F142"}.mdi-chevron-right-box:before{content:"\F9D9"}.mdi-chevron-right-box-outline:before{content:"\F9DA"}.mdi-chevron-right-circle:before{content:"\FB0F"}.mdi-chevron-right-circle-outline:before{content:"\FB10"}.mdi-chevron-triple-down:before{content:"\FD95"}.mdi-chevron-triple-left:before{content:"\FD96"}.mdi-chevron-triple-right:before{content:"\FD97"}.mdi-chevron-triple-up:before{content:"\FD98"}.mdi-chevron-up:before{content:"\F143"}.mdi-chevron-up-box:before{content:"\F9DB"}.mdi-chevron-up-box-outline:before{content:"\F9DC"}.mdi-chevron-up-circle:before{content:"\FB11"}.mdi-chevron-up-circle-outline:before{content:"\FB12"}.mdi-chili-hot:before{content:"\F7B1"}.mdi-chili-medium:before{content:"\F7B2"}.mdi-chili-mild:before{content:"\F7B3"}.mdi-chip:before{content:"\F61A"}.mdi-christianity:before{content:"\F952"}.mdi-christianity-outline:before{content:"\FCD2"}.mdi-church:before{content:"\F144"}.mdi-cigar:before{content:"\F01B4"}.mdi-circle:before{content:"\F764"}.mdi-circle-double:before{content:"\FEB2"}.mdi-circle-edit-outline:before{content:"\F8D4"}.mdi-circle-expand:before{content:"\FEB3"}.mdi-circle-medium:before{content:"\F9DD"}.mdi-circle-off-outline:before{content:"\F00FE"}.mdi-circle-outline:before{content:"\F765"}.mdi-circle-slice-1:before{content:"\FA9D"}.mdi-circle-slice-2:before{content:"\FA9E"}.mdi-circle-slice-3:before{content:"\FA9F"}.mdi-circle-slice-4:before{content:"\FAA0"}.mdi-circle-slice-5:before{content:"\FAA1"}.mdi-circle-slice-6:before{content:"\FAA2"}.mdi-circle-slice-7:before{content:"\FAA3"}.mdi-circle-slice-8:before{content:"\FAA4"}.mdi-circle-small:before{content:"\F9DE"}.mdi-circular-saw:before{content:"\FE73"}.mdi-cisco-webex:before{content:"\F145"}.mdi-city:before{content:"\F146"}.mdi-city-variant:before{content:"\FA35"}.mdi-city-variant-outline:before{content:"\FA36"}.mdi-clipboard:before{content:"\F147"}.mdi-clipboard-account:before{content:"\F148"}.mdi-clipboard-account-outline:before{content:"\FC31"}.mdi-clipboard-alert:before{content:"\F149"}.mdi-clipboard-alert-outline:before{content:"\FCD3"}.mdi-clipboard-arrow-down:before{content:"\F14A"}.mdi-clipboard-arrow-down-outline:before{content:"\FC32"}.mdi-clipboard-arrow-left:before{content:"\F14B"}.mdi-clipboard-arrow-left-outline:before{content:"\FCD4"}.mdi-clipboard-arrow-right:before{content:"\FCD5"}.mdi-clipboard-arrow-right-outline:before{content:"\FCD6"}.mdi-clipboard-arrow-up:before{content:"\FC33"}.mdi-clipboard-arrow-up-outline:before{content:"\FC34"}.mdi-clipboard-check:before{content:"\F14C"}.mdi-clipboard-check-multiple:before{content:"\F028E"}.mdi-clipboard-check-multiple-outline:before{content:"\F028F"}.mdi-clipboard-check-outline:before{content:"\F8A7"}.mdi-clipboard-file:before{content:"\F0290"}.mdi-clipboard-file-outline:before{content:"\F0291"}.mdi-clipboard-flow:before{content:"\F6C7"}.mdi-clipboard-flow-outline:before{content:"\F0142"}.mdi-clipboard-list:before{content:"\F00FF"}.mdi-clipboard-list-outline:before{content:"\F0100"}.mdi-clipboard-multiple:before{content:"\F0292"}.mdi-clipboard-multiple-outline:before{content:"\F0293"}.mdi-clipboard-outline:before{content:"\F14D"}.mdi-clipboard-play:before{content:"\FC35"}.mdi-clipboard-play-multiple:before{content:"\F0294"}.mdi-clipboard-play-multiple-outline:before{content:"\F0295"}.mdi-clipboard-play-outline:before{content:"\FC36"}.mdi-clipboard-plus:before{content:"\F750"}.mdi-clipboard-plus-outline:before{content:"\F034A"}.mdi-clipboard-pulse:before{content:"\F85C"}.mdi-clipboard-pulse-outline:before{content:"\F85D"}.mdi-clipboard-text:before{content:"\F14E"}.mdi-clipboard-text-multiple:before{content:"\F0296"}.mdi-clipboard-text-multiple-outline:before{content:"\F0297"}.mdi-clipboard-text-outline:before{content:"\FA37"}.mdi-clipboard-text-play:before{content:"\FC37"}.mdi-clipboard-text-play-outline:before{content:"\FC38"}.mdi-clippy:before{content:"\F14F"}.mdi-clock:before{content:"\F953"}.mdi-clock-alert:before{content:"\F954"}.mdi-clock-alert-outline:before{content:"\F5CE"}.mdi-clock-check:before{content:"\FFC8"}.mdi-clock-check-outline:before{content:"\FFC9"}.mdi-clock-digital:before{content:"\FEB4"}.mdi-clock-end:before{content:"\F151"}.mdi-clock-fast:before{content:"\F152"}.mdi-clock-in:before{content:"\F153"}.mdi-clock-out:before{content:"\F154"}.mdi-clock-outline:before{content:"\F150"}.mdi-clock-start:before{content:"\F155"}.mdi-close:before{content:"\F156"}.mdi-close-box:before{content:"\F157"}.mdi-close-box-multiple:before{content:"\FC39"}.mdi-close-box-multiple-outline:before{content:"\FC3A"}.mdi-close-box-outline:before{content:"\F158"}.mdi-close-circle:before{content:"\F159"}.mdi-close-circle-outline:before{content:"\F15A"}.mdi-close-network:before{content:"\F15B"}.mdi-close-network-outline:before{content:"\FC3B"}.mdi-close-octagon:before{content:"\F15C"}.mdi-close-octagon-outline:before{content:"\F15D"}.mdi-close-outline:before{content:"\F6C8"}.mdi-closed-caption:before{content:"\F15E"}.mdi-closed-caption-outline:before{content:"\FD99"}.mdi-cloud:before{content:"\F15F"}.mdi-cloud-alert:before{content:"\F9DF"}.mdi-cloud-braces:before{content:"\F7B4"}.mdi-cloud-check:before{content:"\F160"}.mdi-cloud-check-outline:before{content:"\F02F7"}.mdi-cloud-circle:before{content:"\F161"}.mdi-cloud-download:before{content:"\F162"}.mdi-cloud-download-outline:before{content:"\FB59"}.mdi-cloud-lock:before{content:"\F021C"}.mdi-cloud-lock-outline:before{content:"\F021D"}.mdi-cloud-off-outline:before{content:"\F164"}.mdi-cloud-outline:before{content:"\F163"}.mdi-cloud-print:before{content:"\F165"}.mdi-cloud-print-outline:before{content:"\F166"}.mdi-cloud-question:before{content:"\FA38"}.mdi-cloud-search:before{content:"\F955"}.mdi-cloud-search-outline:before{content:"\F956"}.mdi-cloud-sync:before{content:"\F63F"}.mdi-cloud-sync-outline:before{content:"\F0301"}.mdi-cloud-tags:before{content:"\F7B5"}.mdi-cloud-upload:before{content:"\F167"}.mdi-cloud-upload-outline:before{content:"\FB5A"}.mdi-clover:before{content:"\F815"}.mdi-coach-lamp:before{content:"\F0042"}.mdi-coat-rack:before{content:"\F00C9"}.mdi-code-array:before{content:"\F168"}.mdi-code-braces:before{content:"\F169"}.mdi-code-braces-box:before{content:"\F0101"}.mdi-code-brackets:before{content:"\F16A"}.mdi-code-equal:before{content:"\F16B"}.mdi-code-greater-than:before{content:"\F16C"}.mdi-code-greater-than-or-equal:before{content:"\F16D"}.mdi-code-less-than:before{content:"\F16E"}.mdi-code-less-than-or-equal:before{content:"\F16F"}.mdi-code-not-equal:before{content:"\F170"}.mdi-code-not-equal-variant:before{content:"\F171"}.mdi-code-parentheses:before{content:"\F172"}.mdi-code-parentheses-box:before{content:"\F0102"}.mdi-code-string:before{content:"\F173"}.mdi-code-tags:before{content:"\F174"}.mdi-code-tags-check:before{content:"\F693"}.mdi-codepen:before{content:"\F175"}.mdi-coffee:before{content:"\F176"}.mdi-coffee-maker:before{content:"\F00CA"}.mdi-coffee-off:before{content:"\FFCA"}.mdi-coffee-off-outline:before{content:"\FFCB"}.mdi-coffee-outline:before{content:"\F6C9"}.mdi-coffee-to-go:before{content:"\F177"}.mdi-coffee-to-go-outline:before{content:"\F0339"}.mdi-coffin:before{content:"\FB5B"}.mdi-cog-clockwise:before{content:"\F0208"}.mdi-cog-counterclockwise:before{content:"\F0209"}.mdi-cogs:before{content:"\F8D5"}.mdi-coin:before{content:"\F0196"}.mdi-coin-outline:before{content:"\F178"}.mdi-coins:before{content:"\F694"}.mdi-collage:before{content:"\F640"}.mdi-collapse-all:before{content:"\FAA5"}.mdi-collapse-all-outline:before{content:"\FAA6"}.mdi-color-helper:before{content:"\F179"}.mdi-comma:before{content:"\FE74"}.mdi-comma-box:before{content:"\FE75"}.mdi-comma-box-outline:before{content:"\FE76"}.mdi-comma-circle:before{content:"\FE77"}.mdi-comma-circle-outline:before{content:"\FE78"}.mdi-comment:before{content:"\F17A"}.mdi-comment-account:before{content:"\F17B"}.mdi-comment-account-outline:before{content:"\F17C"}.mdi-comment-alert:before{content:"\F17D"}.mdi-comment-alert-outline:before{content:"\F17E"}.mdi-comment-arrow-left:before{content:"\F9E0"}.mdi-comment-arrow-left-outline:before{content:"\F9E1"}.mdi-comment-arrow-right:before{content:"\F9E2"}.mdi-comment-arrow-right-outline:before{content:"\F9E3"}.mdi-comment-check:before{content:"\F17F"}.mdi-comment-check-outline:before{content:"\F180"}.mdi-comment-edit:before{content:"\F01EA"}.mdi-comment-edit-outline:before{content:"\F02EF"}.mdi-comment-eye:before{content:"\FA39"}.mdi-comment-eye-outline:before{content:"\FA3A"}.mdi-comment-multiple:before{content:"\F85E"}.mdi-comment-multiple-outline:before{content:"\F181"}.mdi-comment-outline:before{content:"\F182"}.mdi-comment-plus:before{content:"\F9E4"}.mdi-comment-plus-outline:before{content:"\F183"}.mdi-comment-processing:before{content:"\F184"}.mdi-comment-processing-outline:before{content:"\F185"}.mdi-comment-question:before{content:"\F816"}.mdi-comment-question-outline:before{content:"\F186"}.mdi-comment-quote:before{content:"\F0043"}.mdi-comment-quote-outline:before{content:"\F0044"}.mdi-comment-remove:before{content:"\F5DE"}.mdi-comment-remove-outline:before{content:"\F187"}.mdi-comment-search:before{content:"\FA3B"}.mdi-comment-search-outline:before{content:"\FA3C"}.mdi-comment-text:before{content:"\F188"}.mdi-comment-text-multiple:before{content:"\F85F"}.mdi-comment-text-multiple-outline:before{content:"\F860"}.mdi-comment-text-outline:before{content:"\F189"}.mdi-compare:before{content:"\F18A"}.mdi-compass:before{content:"\F18B"}.mdi-compass-off:before{content:"\FB5C"}.mdi-compass-off-outline:before{content:"\FB5D"}.mdi-compass-outline:before{content:"\F18C"}.mdi-compass-rose:before{content:"\F03AD"}.mdi-concourse-ci:before{content:"\F00CB"}.mdi-console:before{content:"\F18D"}.mdi-console-line:before{content:"\F7B6"}.mdi-console-network:before{content:"\F8A8"}.mdi-console-network-outline:before{content:"\FC3C"}.mdi-consolidate:before{content:"\F0103"}.mdi-contact-mail:before{content:"\F18E"}.mdi-contact-mail-outline:before{content:"\FEB5"}.mdi-contact-phone:before{content:"\FEB6"}.mdi-contact-phone-outline:before{content:"\FEB7"}.mdi-contactless-payment:before{content:"\FD46"}.mdi-contacts:before{content:"\F6CA"}.mdi-contain:before{content:"\FA3D"}.mdi-contain-end:before{content:"\FA3E"}.mdi-contain-start:before{content:"\FA3F"}.mdi-content-copy:before{content:"\F18F"}.mdi-content-cut:before{content:"\F190"}.mdi-content-duplicate:before{content:"\F191"}.mdi-content-paste:before{content:"\F192"}.mdi-content-save:before{content:"\F193"}.mdi-content-save-alert:before{content:"\FF5F"}.mdi-content-save-alert-outline:before{content:"\FF60"}.mdi-content-save-all:before{content:"\F194"}.mdi-content-save-all-outline:before{content:"\FF61"}.mdi-content-save-edit:before{content:"\FCD7"}.mdi-content-save-edit-outline:before{content:"\FCD8"}.mdi-content-save-move:before{content:"\FE79"}.mdi-content-save-move-outline:before{content:"\FE7A"}.mdi-content-save-outline:before{content:"\F817"}.mdi-content-save-settings:before{content:"\F61B"}.mdi-content-save-settings-outline:before{content:"\FB13"}.mdi-contrast:before{content:"\F195"}.mdi-contrast-box:before{content:"\F196"}.mdi-contrast-circle:before{content:"\F197"}.mdi-controller-classic:before{content:"\FB5E"}.mdi-controller-classic-outline:before{content:"\FB5F"}.mdi-cookie:before{content:"\F198"}.mdi-coolant-temperature:before{content:"\F3C8"}.mdi-copyright:before{content:"\F5E6"}.mdi-cordova:before{content:"\F957"}.mdi-corn:before{content:"\F7B7"}.mdi-counter:before{content:"\F199"}.mdi-cow:before{content:"\F19A"}.mdi-cowboy:before{content:"\FEB8"}.mdi-cpu-32-bit:before{content:"\FEFC"}.mdi-cpu-64-bit:before{content:"\FEFD"}.mdi-crane:before{content:"\F861"}.mdi-creation:before{content:"\F1C9"}.mdi-creative-commons:before{content:"\FD47"}.mdi-credit-card:before{content:"\F0010"}.mdi-credit-card-clock:before{content:"\FEFE"}.mdi-credit-card-clock-outline:before{content:"\FFBC"}.mdi-credit-card-marker:before{content:"\F6A7"}.mdi-credit-card-marker-outline:before{content:"\FD9A"}.mdi-credit-card-minus:before{content:"\FFCC"}.mdi-credit-card-minus-outline:before{content:"\FFCD"}.mdi-credit-card-multiple:before{content:"\F0011"}.mdi-credit-card-multiple-outline:before{content:"\F19C"}.mdi-credit-card-off:before{content:"\F0012"}.mdi-credit-card-off-outline:before{content:"\F5E4"}.mdi-credit-card-outline:before{content:"\F19B"}.mdi-credit-card-plus:before{content:"\F0013"}.mdi-credit-card-plus-outline:before{content:"\F675"}.mdi-credit-card-refund:before{content:"\F0014"}.mdi-credit-card-refund-outline:before{content:"\FAA7"}.mdi-credit-card-remove:before{content:"\FFCE"}.mdi-credit-card-remove-outline:before{content:"\FFCF"}.mdi-credit-card-scan:before{content:"\F0015"}.mdi-credit-card-scan-outline:before{content:"\F19D"}.mdi-credit-card-settings:before{content:"\F0016"}.mdi-credit-card-settings-outline:before{content:"\F8D6"}.mdi-credit-card-wireless:before{content:"\F801"}.mdi-credit-card-wireless-outline:before{content:"\FD48"}.mdi-cricket:before{content:"\FD49"}.mdi-crop:before{content:"\F19E"}.mdi-crop-free:before{content:"\F19F"}.mdi-crop-landscape:before{content:"\F1A0"}.mdi-crop-portrait:before{content:"\F1A1"}.mdi-crop-rotate:before{content:"\F695"}.mdi-crop-square:before{content:"\F1A2"}.mdi-crosshairs:before{content:"\F1A3"}.mdi-crosshairs-gps:before{content:"\F1A4"}.mdi-crosshairs-off:before{content:"\FF62"}.mdi-crosshairs-question:before{content:"\F0161"}.mdi-crown:before{content:"\F1A5"}.mdi-crown-outline:before{content:"\F01FB"}.mdi-cryengine:before{content:"\F958"}.mdi-crystal-ball:before{content:"\FB14"}.mdi-cube:before{content:"\F1A6"}.mdi-cube-outline:before{content:"\F1A7"}.mdi-cube-scan:before{content:"\FB60"}.mdi-cube-send:before{content:"\F1A8"}.mdi-cube-unfolded:before{content:"\F1A9"}.mdi-cup:before{content:"\F1AA"}.mdi-cup-off:before{content:"\F5E5"}.mdi-cup-off-outline:before{content:"\F03A8"}.mdi-cup-outline:before{content:"\F033A"}.mdi-cup-water:before{content:"\F1AB"}.mdi-cupboard:before{content:"\FF63"}.mdi-cupboard-outline:before{content:"\FF64"}.mdi-cupcake:before{content:"\F959"}.mdi-curling:before{content:"\F862"}.mdi-currency-bdt:before{content:"\F863"}.mdi-currency-brl:before{content:"\FB61"}.mdi-currency-btc:before{content:"\F1AC"}.mdi-currency-cny:before{content:"\F7B9"}.mdi-currency-eth:before{content:"\F7BA"}.mdi-currency-eur:before{content:"\F1AD"}.mdi-currency-eur-off:before{content:"\F0340"}.mdi-currency-gbp:before{content:"\F1AE"}.mdi-currency-ils:before{content:"\FC3D"}.mdi-currency-inr:before{content:"\F1AF"}.mdi-currency-jpy:before{content:"\F7BB"}.mdi-currency-krw:before{content:"\F7BC"}.mdi-currency-kzt:before{content:"\F864"}.mdi-currency-ngn:before{content:"\F1B0"}.mdi-currency-php:before{content:"\F9E5"}.mdi-currency-rial:before{content:"\FEB9"}.mdi-currency-rub:before{content:"\F1B1"}.mdi-currency-sign:before{content:"\F7BD"}.mdi-currency-try:before{content:"\F1B2"}.mdi-currency-twd:before{content:"\F7BE"}.mdi-currency-usd:before{content:"\F1B3"}.mdi-currency-usd-off:before{content:"\F679"}.mdi-current-ac:before{content:"\F95A"}.mdi-current-dc:before{content:"\F95B"}.mdi-cursor-default:before{content:"\F1B4"}.mdi-cursor-default-click:before{content:"\FCD9"}.mdi-cursor-default-click-outline:before{content:"\FCDA"}.mdi-cursor-default-gesture:before{content:"\F0152"}.mdi-cursor-default-gesture-outline:before{content:"\F0153"}.mdi-cursor-default-outline:before{content:"\F1B5"}.mdi-cursor-move:before{content:"\F1B6"}.mdi-cursor-pointer:before{content:"\F1B7"}.mdi-cursor-text:before{content:"\F5E7"}.mdi-database:before{content:"\F1B8"}.mdi-database-check:before{content:"\FAA8"}.mdi-database-edit:before{content:"\FB62"}.mdi-database-export:before{content:"\F95D"}.mdi-database-import:before{content:"\F95C"}.mdi-database-lock:before{content:"\FAA9"}.mdi-database-marker:before{content:"\F0321"}.mdi-database-minus:before{content:"\F1B9"}.mdi-database-plus:before{content:"\F1BA"}.mdi-database-refresh:before{content:"\FCDB"}.mdi-database-remove:before{content:"\FCDC"}.mdi-database-search:before{content:"\F865"}.mdi-database-settings:before{content:"\FCDD"}.mdi-death-star:before{content:"\F8D7"}.mdi-death-star-variant:before{content:"\F8D8"}.mdi-deathly-hallows:before{content:"\FB63"}.mdi-debian:before{content:"\F8D9"}.mdi-debug-step-into:before{content:"\F1BB"}.mdi-debug-step-out:before{content:"\F1BC"}.mdi-debug-step-over:before{content:"\F1BD"}.mdi-decagram:before{content:"\F76B"}.mdi-decagram-outline:before{content:"\F76C"}.mdi-decimal:before{content:"\F00CC"}.mdi-decimal-comma:before{content:"\F00CD"}.mdi-decimal-comma-decrease:before{content:"\F00CE"}.mdi-decimal-comma-increase:before{content:"\F00CF"}.mdi-decimal-decrease:before{content:"\F1BE"}.mdi-decimal-increase:before{content:"\F1BF"}.mdi-delete:before{content:"\F1C0"}.mdi-delete-alert:before{content:"\F00D0"}.mdi-delete-alert-outline:before{content:"\F00D1"}.mdi-delete-circle:before{content:"\F682"}.mdi-delete-circle-outline:before{content:"\FB64"}.mdi-delete-empty:before{content:"\F6CB"}.mdi-delete-empty-outline:before{content:"\FEBA"}.mdi-delete-forever:before{content:"\F5E8"}.mdi-delete-forever-outline:before{content:"\FB65"}.mdi-delete-off:before{content:"\F00D2"}.mdi-delete-off-outline:before{content:"\F00D3"}.mdi-delete-outline:before{content:"\F9E6"}.mdi-delete-restore:before{content:"\F818"}.mdi-delete-sweep:before{content:"\F5E9"}.mdi-delete-sweep-outline:before{content:"\FC3E"}.mdi-delete-variant:before{content:"\F1C1"}.mdi-delta:before{content:"\F1C2"}.mdi-desk:before{content:"\F0264"}.mdi-desk-lamp:before{content:"\F95E"}.mdi-deskphone:before{content:"\F1C3"}.mdi-desktop-classic:before{content:"\F7BF"}.mdi-desktop-mac:before{content:"\F1C4"}.mdi-desktop-mac-dashboard:before{content:"\F9E7"}.mdi-desktop-tower:before{content:"\F1C5"}.mdi-desktop-tower-monitor:before{content:"\FAAA"}.mdi-details:before{content:"\F1C6"}.mdi-dev-to:before{content:"\FD4A"}.mdi-developer-board:before{content:"\F696"}.mdi-deviantart:before{content:"\F1C7"}.mdi-devices:before{content:"\FFD0"}.mdi-diabetes:before{content:"\F0151"}.mdi-dialpad:before{content:"\F61C"}.mdi-diameter:before{content:"\FC3F"}.mdi-diameter-outline:before{content:"\FC40"}.mdi-diameter-variant:before{content:"\FC41"}.mdi-diamond:before{content:"\FB66"}.mdi-diamond-outline:before{content:"\FB67"}.mdi-diamond-stone:before{content:"\F1C8"}.mdi-dice-1:before{content:"\F1CA"}.mdi-dice-1-outline:before{content:"\F0175"}.mdi-dice-2:before{content:"\F1CB"}.mdi-dice-2-outline:before{content:"\F0176"}.mdi-dice-3:before{content:"\F1CC"}.mdi-dice-3-outline:before{content:"\F0177"}.mdi-dice-4:before{content:"\F1CD"}.mdi-dice-4-outline:before{content:"\F0178"}.mdi-dice-5:before{content:"\F1CE"}.mdi-dice-5-outline:before{content:"\F0179"}.mdi-dice-6:before{content:"\F1CF"}.mdi-dice-6-outline:before{content:"\F017A"}.mdi-dice-d10:before{content:"\F017E"}.mdi-dice-d10-outline:before{content:"\F76E"}.mdi-dice-d12:before{content:"\F017F"}.mdi-dice-d12-outline:before{content:"\F866"}.mdi-dice-d20:before{content:"\F0180"}.mdi-dice-d20-outline:before{content:"\F5EA"}.mdi-dice-d4:before{content:"\F017B"}.mdi-dice-d4-outline:before{content:"\F5EB"}.mdi-dice-d6:before{content:"\F017C"}.mdi-dice-d6-outline:before{content:"\F5EC"}.mdi-dice-d8:before{content:"\F017D"}.mdi-dice-d8-outline:before{content:"\F5ED"}.mdi-dice-multiple:before{content:"\F76D"}.mdi-dice-multiple-outline:before{content:"\F0181"}.mdi-dictionary:before{content:"\F61D"}.mdi-digital-ocean:before{content:"\F0262"}.mdi-dip-switch:before{content:"\F7C0"}.mdi-directions:before{content:"\F1D0"}.mdi-directions-fork:before{content:"\F641"}.mdi-disc:before{content:"\F5EE"}.mdi-disc-alert:before{content:"\F1D1"}.mdi-disc-player:before{content:"\F95F"}.mdi-discord:before{content:"\F66F"}.mdi-dishwasher:before{content:"\FAAB"}.mdi-dishwasher-alert:before{content:"\F01E3"}.mdi-dishwasher-off:before{content:"\F01E4"}.mdi-disqus:before{content:"\F1D2"}.mdi-disqus-outline:before{content:"\F1D3"}.mdi-distribute-horizontal-center:before{content:"\F01F4"}.mdi-distribute-horizontal-left:before{content:"\F01F3"}.mdi-distribute-horizontal-right:before{content:"\F01F5"}.mdi-distribute-vertical-bottom:before{content:"\F01F6"}.mdi-distribute-vertical-center:before{content:"\F01F7"}.mdi-distribute-vertical-top:before{content:"\F01F8"}.mdi-diving-flippers:before{content:"\FD9B"}.mdi-diving-helmet:before{content:"\FD9C"}.mdi-diving-scuba:before{content:"\FD9D"}.mdi-diving-scuba-flag:before{content:"\FD9E"}.mdi-diving-scuba-tank:before{content:"\FD9F"}.mdi-diving-scuba-tank-multiple:before{content:"\FDA0"}.mdi-diving-snorkel:before{content:"\FDA1"}.mdi-division:before{content:"\F1D4"}.mdi-division-box:before{content:"\F1D5"}.mdi-dlna:before{content:"\FA40"}.mdi-dna:before{content:"\F683"}.mdi-dns:before{content:"\F1D6"}.mdi-dns-outline:before{content:"\FB68"}.mdi-do-not-disturb:before{content:"\F697"}.mdi-do-not-disturb-off:before{content:"\F698"}.mdi-dock-bottom:before{content:"\F00D4"}.mdi-dock-left:before{content:"\F00D5"}.mdi-dock-right:before{content:"\F00D6"}.mdi-dock-window:before{content:"\F00D7"}.mdi-docker:before{content:"\F867"}.mdi-doctor:before{content:"\FA41"}.mdi-dog:before{content:"\FA42"}.mdi-dog-service:before{content:"\FAAC"}.mdi-dog-side:before{content:"\FA43"}.mdi-dolby:before{content:"\F6B2"}.mdi-dolly:before{content:"\FEBB"}.mdi-domain:before{content:"\F1D7"}.mdi-domain-off:before{content:"\FD4B"}.mdi-domain-plus:before{content:"\F00D8"}.mdi-domain-remove:before{content:"\F00D9"}.mdi-domino-mask:before{content:"\F0045"}.mdi-donkey:before{content:"\F7C1"}.mdi-door:before{content:"\F819"}.mdi-door-closed:before{content:"\F81A"}.mdi-door-closed-lock:before{content:"\F00DA"}.mdi-door-open:before{content:"\F81B"}.mdi-doorbell:before{content:"\F0311"}.mdi-doorbell-video:before{content:"\F868"}.mdi-dot-net:before{content:"\FAAD"}.mdi-dots-horizontal:before{content:"\F1D8"}.mdi-dots-horizontal-circle:before{content:"\F7C2"}.mdi-dots-horizontal-circle-outline:before{content:"\FB69"}.mdi-dots-vertical:before{content:"\F1D9"}.mdi-dots-vertical-circle:before{content:"\F7C3"}.mdi-dots-vertical-circle-outline:before{content:"\FB6A"}.mdi-douban:before{content:"\F699"}.mdi-download:before{content:"\F1DA"}.mdi-download-lock:before{content:"\F034B"}.mdi-download-lock-outline:before{content:"\F034C"}.mdi-download-multiple:before{content:"\F9E8"}.mdi-download-network:before{content:"\F6F3"}.mdi-download-network-outline:before{content:"\FC42"}.mdi-download-off:before{content:"\F00DB"}.mdi-download-off-outline:before{content:"\F00DC"}.mdi-download-outline:before{content:"\FB6B"}.mdi-drag:before{content:"\F1DB"}.mdi-drag-horizontal:before{content:"\F1DC"}.mdi-drag-horizontal-variant:before{content:"\F031B"}.mdi-drag-variant:before{content:"\FB6C"}.mdi-drag-vertical:before{content:"\F1DD"}.mdi-drag-vertical-variant:before{content:"\F031C"}.mdi-drama-masks:before{content:"\FCDE"}.mdi-draw:before{content:"\FF66"}.mdi-drawing:before{content:"\F1DE"}.mdi-drawing-box:before{content:"\F1DF"}.mdi-dresser:before{content:"\FF67"}.mdi-dresser-outline:before{content:"\FF68"}.mdi-dribbble:before{content:"\F1E0"}.mdi-dribbble-box:before{content:"\F1E1"}.mdi-drone:before{content:"\F1E2"}.mdi-dropbox:before{content:"\F1E3"}.mdi-drupal:before{content:"\F1E4"}.mdi-duck:before{content:"\F1E5"}.mdi-dumbbell:before{content:"\F1E6"}.mdi-dump-truck:before{content:"\FC43"}.mdi-ear-hearing:before{content:"\F7C4"}.mdi-ear-hearing-off:before{content:"\FA44"}.mdi-earth:before{content:"\F1E7"}.mdi-earth-arrow-right:before{content:"\F033C"}.mdi-earth-box:before{content:"\F6CC"}.mdi-earth-box-off:before{content:"\F6CD"}.mdi-earth-off:before{content:"\F1E8"}.mdi-edge:before{content:"\F1E9"}.mdi-edge-legacy:before{content:"\F027B"}.mdi-egg:before{content:"\FAAE"}.mdi-egg-easter:before{content:"\FAAF"}.mdi-eight-track:before{content:"\F9E9"}.mdi-eject:before{content:"\F1EA"}.mdi-eject-outline:before{content:"\FB6D"}.mdi-electric-switch:before{content:"\FEBC"}.mdi-electric-switch-closed:before{content:"\F0104"}.mdi-electron-framework:before{content:"\F0046"}.mdi-elephant:before{content:"\F7C5"}.mdi-elevation-decline:before{content:"\F1EB"}.mdi-elevation-rise:before{content:"\F1EC"}.mdi-elevator:before{content:"\F1ED"}.mdi-elevator-down:before{content:"\F02ED"}.mdi-elevator-passenger:before{content:"\F03AC"}.mdi-elevator-up:before{content:"\F02EC"}.mdi-ellipse:before{content:"\FEBD"}.mdi-ellipse-outline:before{content:"\FEBE"}.mdi-email:before{content:"\F1EE"}.mdi-email-alert:before{content:"\F6CE"}.mdi-email-alert-outline:before{content:"\FD1E"}.mdi-email-box:before{content:"\FCDF"}.mdi-email-check:before{content:"\FAB0"}.mdi-email-check-outline:before{content:"\FAB1"}.mdi-email-edit:before{content:"\FF00"}.mdi-email-edit-outline:before{content:"\FF01"}.mdi-email-lock:before{content:"\F1F1"}.mdi-email-mark-as-unread:before{content:"\FB6E"}.mdi-email-minus:before{content:"\FF02"}.mdi-email-minus-outline:before{content:"\FF03"}.mdi-email-multiple:before{content:"\FF04"}.mdi-email-multiple-outline:before{content:"\FF05"}.mdi-email-newsletter:before{content:"\FFD1"}.mdi-email-open:before{content:"\F1EF"}.mdi-email-open-multiple:before{content:"\FF06"}.mdi-email-open-multiple-outline:before{content:"\FF07"}.mdi-email-open-outline:before{content:"\F5EF"}.mdi-email-outline:before{content:"\F1F0"}.mdi-email-plus:before{content:"\F9EA"}.mdi-email-plus-outline:before{content:"\F9EB"}.mdi-email-receive:before{content:"\F0105"}.mdi-email-receive-outline:before{content:"\F0106"}.mdi-email-search:before{content:"\F960"}.mdi-email-search-outline:before{content:"\F961"}.mdi-email-send:before{content:"\F0107"}.mdi-email-send-outline:before{content:"\F0108"}.mdi-email-sync:before{content:"\F02F2"}.mdi-email-sync-outline:before{content:"\F02F3"}.mdi-email-variant:before{content:"\F5F0"}.mdi-ember:before{content:"\FB15"}.mdi-emby:before{content:"\F6B3"}.mdi-emoticon:before{content:"\FC44"}.mdi-emoticon-angry:before{content:"\FC45"}.mdi-emoticon-angry-outline:before{content:"\FC46"}.mdi-emoticon-confused:before{content:"\F0109"}.mdi-emoticon-confused-outline:before{content:"\F010A"}.mdi-emoticon-cool:before{content:"\FC47"}.mdi-emoticon-cool-outline:before{content:"\F1F3"}.mdi-emoticon-cry:before{content:"\FC48"}.mdi-emoticon-cry-outline:before{content:"\FC49"}.mdi-emoticon-dead:before{content:"\FC4A"}.mdi-emoticon-dead-outline:before{content:"\F69A"}.mdi-emoticon-devil:before{content:"\FC4B"}.mdi-emoticon-devil-outline:before{content:"\F1F4"}.mdi-emoticon-excited:before{content:"\FC4C"}.mdi-emoticon-excited-outline:before{content:"\F69B"}.mdi-emoticon-frown:before{content:"\FF69"}.mdi-emoticon-frown-outline:before{content:"\FF6A"}.mdi-emoticon-happy:before{content:"\FC4D"}.mdi-emoticon-happy-outline:before{content:"\F1F5"}.mdi-emoticon-kiss:before{content:"\FC4E"}.mdi-emoticon-kiss-outline:before{content:"\FC4F"}.mdi-emoticon-lol:before{content:"\F023F"}.mdi-emoticon-lol-outline:before{content:"\F0240"}.mdi-emoticon-neutral:before{content:"\FC50"}.mdi-emoticon-neutral-outline:before{content:"\F1F6"}.mdi-emoticon-outline:before{content:"\F1F2"}.mdi-emoticon-poop:before{content:"\F1F7"}.mdi-emoticon-poop-outline:before{content:"\FC51"}.mdi-emoticon-sad:before{content:"\FC52"}.mdi-emoticon-sad-outline:before{content:"\F1F8"}.mdi-emoticon-tongue:before{content:"\F1F9"}.mdi-emoticon-tongue-outline:before{content:"\FC53"}.mdi-emoticon-wink:before{content:"\FC54"}.mdi-emoticon-wink-outline:before{content:"\FC55"}.mdi-engine:before{content:"\F1FA"}.mdi-engine-off:before{content:"\FA45"}.mdi-engine-off-outline:before{content:"\FA46"}.mdi-engine-outline:before{content:"\F1FB"}.mdi-epsilon:before{content:"\F010B"}.mdi-equal:before{content:"\F1FC"}.mdi-equal-box:before{content:"\F1FD"}.mdi-equalizer:before{content:"\FEBF"}.mdi-equalizer-outline:before{content:"\FEC0"}.mdi-eraser:before{content:"\F1FE"}.mdi-eraser-variant:before{content:"\F642"}.mdi-escalator:before{content:"\F1FF"}.mdi-escalator-down:before{content:"\F02EB"}.mdi-escalator-up:before{content:"\F02EA"}.mdi-eslint:before{content:"\FC56"}.mdi-et:before{content:"\FAB2"}.mdi-ethereum:before{content:"\F869"}.mdi-ethernet:before{content:"\F200"}.mdi-ethernet-cable:before{content:"\F201"}.mdi-ethernet-cable-off:before{content:"\F202"}.mdi-etsy:before{content:"\F203"}.mdi-ev-station:before{content:"\F5F1"}.mdi-eventbrite:before{content:"\F7C6"}.mdi-evernote:before{content:"\F204"}.mdi-excavator:before{content:"\F0047"}.mdi-exclamation:before{content:"\F205"}.mdi-exclamation-thick:before{content:"\F0263"}.mdi-exit-run:before{content:"\FA47"}.mdi-exit-to-app:before{content:"\F206"}.mdi-expand-all:before{content:"\FAB3"}.mdi-expand-all-outline:before{content:"\FAB4"}.mdi-expansion-card:before{content:"\F8AD"}.mdi-expansion-card-variant:before{content:"\FFD2"}.mdi-exponent:before{content:"\F962"}.mdi-exponent-box:before{content:"\F963"}.mdi-export:before{content:"\F207"}.mdi-export-variant:before{content:"\FB6F"}.mdi-eye:before{content:"\F208"}.mdi-eye-check:before{content:"\FCE0"}.mdi-eye-check-outline:before{content:"\FCE1"}.mdi-eye-circle:before{content:"\FB70"}.mdi-eye-circle-outline:before{content:"\FB71"}.mdi-eye-minus:before{content:"\F0048"}.mdi-eye-minus-outline:before{content:"\F0049"}.mdi-eye-off:before{content:"\F209"}.mdi-eye-off-outline:before{content:"\F6D0"}.mdi-eye-outline:before{content:"\F6CF"}.mdi-eye-plus:before{content:"\F86A"}.mdi-eye-plus-outline:before{content:"\F86B"}.mdi-eye-settings:before{content:"\F86C"}.mdi-eye-settings-outline:before{content:"\F86D"}.mdi-eyedropper:before{content:"\F20A"}.mdi-eyedropper-variant:before{content:"\F20B"}.mdi-face:before{content:"\F643"}.mdi-face-agent:before{content:"\FD4C"}.mdi-face-outline:before{content:"\FB72"}.mdi-face-profile:before{content:"\F644"}.mdi-face-profile-woman:before{content:"\F00A1"}.mdi-face-recognition:before{content:"\FC57"}.mdi-face-woman:before{content:"\F00A2"}.mdi-face-woman-outline:before{content:"\F00A3"}.mdi-facebook:before{content:"\F20C"}.mdi-facebook-box:before{content:"\F20D"}.mdi-facebook-messenger:before{content:"\F20E"}.mdi-facebook-workplace:before{content:"\FB16"}.mdi-factory:before{content:"\F20F"}.mdi-fan:before{content:"\F210"}.mdi-fan-off:before{content:"\F81C"}.mdi-fast-forward:before{content:"\F211"}.mdi-fast-forward-10:before{content:"\FD4D"}.mdi-fast-forward-30:before{content:"\FCE2"}.mdi-fast-forward-5:before{content:"\F0223"}.mdi-fast-forward-outline:before{content:"\F6D1"}.mdi-fax:before{content:"\F212"}.mdi-feather:before{content:"\F6D2"}.mdi-feature-search:before{content:"\FA48"}.mdi-feature-search-outline:before{content:"\FA49"}.mdi-fedora:before{content:"\F8DA"}.mdi-ferris-wheel:before{content:"\FEC1"}.mdi-ferry:before{content:"\F213"}.mdi-file:before{content:"\F214"}.mdi-file-account:before{content:"\F73A"}.mdi-file-account-outline:before{content:"\F004A"}.mdi-file-alert:before{content:"\FA4A"}.mdi-file-alert-outline:before{content:"\FA4B"}.mdi-file-cabinet:before{content:"\FAB5"}.mdi-file-cad:before{content:"\FF08"}.mdi-file-cad-box:before{content:"\FF09"}.mdi-file-cancel:before{content:"\FDA2"}.mdi-file-cancel-outline:before{content:"\FDA3"}.mdi-file-certificate:before{content:"\F01B1"}.mdi-file-certificate-outline:before{content:"\F01B2"}.mdi-file-chart:before{content:"\F215"}.mdi-file-chart-outline:before{content:"\F004B"}.mdi-file-check:before{content:"\F216"}.mdi-file-check-outline:before{content:"\FE7B"}.mdi-file-clock:before{content:"\F030C"}.mdi-file-clock-outline:before{content:"\F030D"}.mdi-file-cloud:before{content:"\F217"}.mdi-file-cloud-outline:before{content:"\F004C"}.mdi-file-code:before{content:"\F22E"}.mdi-file-code-outline:before{content:"\F004D"}.mdi-file-compare:before{content:"\F8A9"}.mdi-file-delimited:before{content:"\F218"}.mdi-file-delimited-outline:before{content:"\FEC2"}.mdi-file-document:before{content:"\F219"}.mdi-file-document-box:before{content:"\F21A"}.mdi-file-document-box-check:before{content:"\FEC3"}.mdi-file-document-box-check-outline:before{content:"\FEC4"}.mdi-file-document-box-minus:before{content:"\FEC5"}.mdi-file-document-box-minus-outline:before{content:"\FEC6"}.mdi-file-document-box-multiple:before{content:"\FAB6"}.mdi-file-document-box-multiple-outline:before{content:"\FAB7"}.mdi-file-document-box-outline:before{content:"\F9EC"}.mdi-file-document-box-plus:before{content:"\FEC7"}.mdi-file-document-box-plus-outline:before{content:"\FEC8"}.mdi-file-document-box-remove:before{content:"\FEC9"}.mdi-file-document-box-remove-outline:before{content:"\FECA"}.mdi-file-document-box-search:before{content:"\FECB"}.mdi-file-document-box-search-outline:before{content:"\FECC"}.mdi-file-document-edit:before{content:"\FDA4"}.mdi-file-document-edit-outline:before{content:"\FDA5"}.mdi-file-document-outline:before{content:"\F9ED"}.mdi-file-download:before{content:"\F964"}.mdi-file-download-outline:before{content:"\F965"}.mdi-file-edit:before{content:"\F0212"}.mdi-file-edit-outline:before{content:"\F0213"}.mdi-file-excel:before{content:"\F21B"}.mdi-file-excel-box:before{content:"\F21C"}.mdi-file-excel-box-outline:before{content:"\F004E"}.mdi-file-excel-outline:before{content:"\F004F"}.mdi-file-export:before{content:"\F21D"}.mdi-file-export-outline:before{content:"\F0050"}.mdi-file-eye:before{content:"\FDA6"}.mdi-file-eye-outline:before{content:"\FDA7"}.mdi-file-find:before{content:"\F21E"}.mdi-file-find-outline:before{content:"\FB73"}.mdi-file-hidden:before{content:"\F613"}.mdi-file-image:before{content:"\F21F"}.mdi-file-image-outline:before{content:"\FECD"}.mdi-file-import:before{content:"\F220"}.mdi-file-import-outline:before{content:"\F0051"}.mdi-file-key:before{content:"\F01AF"}.mdi-file-key-outline:before{content:"\F01B0"}.mdi-file-link:before{content:"\F01A2"}.mdi-file-link-outline:before{content:"\F01A3"}.mdi-file-lock:before{content:"\F221"}.mdi-file-lock-outline:before{content:"\F0052"}.mdi-file-move:before{content:"\FAB8"}.mdi-file-move-outline:before{content:"\F0053"}.mdi-file-multiple:before{content:"\F222"}.mdi-file-multiple-outline:before{content:"\F0054"}.mdi-file-music:before{content:"\F223"}.mdi-file-music-outline:before{content:"\FE7C"}.mdi-file-outline:before{content:"\F224"}.mdi-file-pdf:before{content:"\F225"}.mdi-file-pdf-box:before{content:"\F226"}.mdi-file-pdf-box-outline:before{content:"\FFD3"}.mdi-file-pdf-outline:before{content:"\FE7D"}.mdi-file-percent:before{content:"\F81D"}.mdi-file-percent-outline:before{content:"\F0055"}.mdi-file-phone:before{content:"\F01A4"}.mdi-file-phone-outline:before{content:"\F01A5"}.mdi-file-plus:before{content:"\F751"}.mdi-file-plus-outline:before{content:"\FF0A"}.mdi-file-powerpoint:before{content:"\F227"}.mdi-file-powerpoint-box:before{content:"\F228"}.mdi-file-powerpoint-box-outline:before{content:"\F0056"}.mdi-file-powerpoint-outline:before{content:"\F0057"}.mdi-file-presentation-box:before{content:"\F229"}.mdi-file-question:before{content:"\F86E"}.mdi-file-question-outline:before{content:"\F0058"}.mdi-file-remove:before{content:"\FB74"}.mdi-file-remove-outline:before{content:"\F0059"}.mdi-file-replace:before{content:"\FB17"}.mdi-file-replace-outline:before{content:"\FB18"}.mdi-file-restore:before{content:"\F670"}.mdi-file-restore-outline:before{content:"\F005A"}.mdi-file-search:before{content:"\FC58"}.mdi-file-search-outline:before{content:"\FC59"}.mdi-file-send:before{content:"\F22A"}.mdi-file-send-outline:before{content:"\F005B"}.mdi-file-settings:before{content:"\F00A4"}.mdi-file-settings-outline:before{content:"\F00A5"}.mdi-file-settings-variant:before{content:"\F00A6"}.mdi-file-settings-variant-outline:before{content:"\F00A7"}.mdi-file-star:before{content:"\F005C"}.mdi-file-star-outline:before{content:"\F005D"}.mdi-file-swap:before{content:"\FFD4"}.mdi-file-swap-outline:before{content:"\FFD5"}.mdi-file-sync:before{content:"\F0241"}.mdi-file-sync-outline:before{content:"\F0242"}.mdi-file-table:before{content:"\FC5A"}.mdi-file-table-box:before{content:"\F010C"}.mdi-file-table-box-multiple:before{content:"\F010D"}.mdi-file-table-box-multiple-outline:before{content:"\F010E"}.mdi-file-table-box-outline:before{content:"\F010F"}.mdi-file-table-outline:before{content:"\FC5B"}.mdi-file-tree:before{content:"\F645"}.mdi-file-undo:before{content:"\F8DB"}.mdi-file-undo-outline:before{content:"\F005E"}.mdi-file-upload:before{content:"\FA4C"}.mdi-file-upload-outline:before{content:"\FA4D"}.mdi-file-video:before{content:"\F22B"}.mdi-file-video-outline:before{content:"\FE10"}.mdi-file-word:before{content:"\F22C"}.mdi-file-word-box:before{content:"\F22D"}.mdi-file-word-box-outline:before{content:"\F005F"}.mdi-file-word-outline:before{content:"\F0060"}.mdi-film:before{content:"\F22F"}.mdi-filmstrip:before{content:"\F230"}.mdi-filmstrip-off:before{content:"\F231"}.mdi-filter:before{content:"\F232"}.mdi-filter-menu:before{content:"\F0110"}.mdi-filter-menu-outline:before{content:"\F0111"}.mdi-filter-minus:before{content:"\FF0B"}.mdi-filter-minus-outline:before{content:"\FF0C"}.mdi-filter-outline:before{content:"\F233"}.mdi-filter-plus:before{content:"\FF0D"}.mdi-filter-plus-outline:before{content:"\FF0E"}.mdi-filter-remove:before{content:"\F234"}.mdi-filter-remove-outline:before{content:"\F235"}.mdi-filter-variant:before{content:"\F236"}.mdi-filter-variant-minus:before{content:"\F013D"}.mdi-filter-variant-plus:before{content:"\F013E"}.mdi-filter-variant-remove:before{content:"\F0061"}.mdi-finance:before{content:"\F81E"}.mdi-find-replace:before{content:"\F6D3"}.mdi-fingerprint:before{content:"\F237"}.mdi-fingerprint-off:before{content:"\FECE"}.mdi-fire:before{content:"\F238"}.mdi-fire-extinguisher:before{content:"\FF0F"}.mdi-fire-hydrant:before{content:"\F0162"}.mdi-fire-hydrant-alert:before{content:"\F0163"}.mdi-fire-hydrant-off:before{content:"\F0164"}.mdi-fire-truck:before{content:"\F8AA"}.mdi-firebase:before{content:"\F966"}.mdi-firefox:before{content:"\F239"}.mdi-fireplace:before{content:"\FE11"}.mdi-fireplace-off:before{content:"\FE12"}.mdi-firework:before{content:"\FE13"}.mdi-fish:before{content:"\F23A"}.mdi-fishbowl:before{content:"\FF10"}.mdi-fishbowl-outline:before{content:"\FF11"}.mdi-fit-to-page:before{content:"\FF12"}.mdi-fit-to-page-outline:before{content:"\FF13"}.mdi-flag:before{content:"\F23B"}.mdi-flag-checkered:before{content:"\F23C"}.mdi-flag-minus:before{content:"\FB75"}.mdi-flag-minus-outline:before{content:"\F00DD"}.mdi-flag-outline:before{content:"\F23D"}.mdi-flag-plus:before{content:"\FB76"}.mdi-flag-plus-outline:before{content:"\F00DE"}.mdi-flag-remove:before{content:"\FB77"}.mdi-flag-remove-outline:before{content:"\F00DF"}.mdi-flag-triangle:before{content:"\F23F"}.mdi-flag-variant:before{content:"\F240"}.mdi-flag-variant-outline:before{content:"\F23E"}.mdi-flare:before{content:"\FD4E"}.mdi-flash:before{content:"\F241"}.mdi-flash-alert:before{content:"\FF14"}.mdi-flash-alert-outline:before{content:"\FF15"}.mdi-flash-auto:before{content:"\F242"}.mdi-flash-circle:before{content:"\F81F"}.mdi-flash-off:before{content:"\F243"}.mdi-flash-outline:before{content:"\F6D4"}.mdi-flash-red-eye:before{content:"\F67A"}.mdi-flashlight:before{content:"\F244"}.mdi-flashlight-off:before{content:"\F245"}.mdi-flask:before{content:"\F093"}.mdi-flask-empty:before{content:"\F094"}.mdi-flask-empty-minus:before{content:"\F0265"}.mdi-flask-empty-minus-outline:before{content:"\F0266"}.mdi-flask-empty-outline:before{content:"\F095"}.mdi-flask-empty-plus:before{content:"\F0267"}.mdi-flask-empty-plus-outline:before{content:"\F0268"}.mdi-flask-empty-remove:before{content:"\F0269"}.mdi-flask-empty-remove-outline:before{content:"\F026A"}.mdi-flask-minus:before{content:"\F026B"}.mdi-flask-minus-outline:before{content:"\F026C"}.mdi-flask-outline:before{content:"\F096"}.mdi-flask-plus:before{content:"\F026D"}.mdi-flask-plus-outline:before{content:"\F026E"}.mdi-flask-remove:before{content:"\F026F"}.mdi-flask-remove-outline:before{content:"\F0270"}.mdi-flask-round-bottom:before{content:"\F0276"}.mdi-flask-round-bottom-empty:before{content:"\F0277"}.mdi-flask-round-bottom-empty-outline:before{content:"\F0278"}.mdi-flask-round-bottom-outline:before{content:"\F0279"}.mdi-flattr:before{content:"\F246"}.mdi-fleur-de-lis:before{content:"\F032E"}.mdi-flickr:before{content:"\FCE3"}.mdi-flip-horizontal:before{content:"\F0112"}.mdi-flip-to-back:before{content:"\F247"}.mdi-flip-to-front:before{content:"\F248"}.mdi-flip-vertical:before{content:"\F0113"}.mdi-floor-lamp:before{content:"\F8DC"}.mdi-floor-lamp-dual:before{content:"\F0062"}.mdi-floor-lamp-variant:before{content:"\F0063"}.mdi-floor-plan:before{content:"\F820"}.mdi-floppy:before{content:"\F249"}.mdi-floppy-variant:before{content:"\F9EE"}.mdi-flower:before{content:"\F24A"}.mdi-flower-outline:before{content:"\F9EF"}.mdi-flower-poppy:before{content:"\FCE4"}.mdi-flower-tulip:before{content:"\F9F0"}.mdi-flower-tulip-outline:before{content:"\F9F1"}.mdi-focus-auto:before{content:"\FF6B"}.mdi-focus-field:before{content:"\FF6C"}.mdi-focus-field-horizontal:before{content:"\FF6D"}.mdi-focus-field-vertical:before{content:"\FF6E"}.mdi-folder:before{content:"\F24B"}.mdi-folder-account:before{content:"\F24C"}.mdi-folder-account-outline:before{content:"\FB78"}.mdi-folder-alert:before{content:"\FDA8"}.mdi-folder-alert-outline:before{content:"\FDA9"}.mdi-folder-clock:before{content:"\FAB9"}.mdi-folder-clock-outline:before{content:"\FABA"}.mdi-folder-download:before{content:"\F24D"}.mdi-folder-download-outline:before{content:"\F0114"}.mdi-folder-edit:before{content:"\F8DD"}.mdi-folder-edit-outline:before{content:"\FDAA"}.mdi-folder-google-drive:before{content:"\F24E"}.mdi-folder-heart:before{content:"\F0115"}.mdi-folder-heart-outline:before{content:"\F0116"}.mdi-folder-home:before{content:"\F00E0"}.mdi-folder-home-outline:before{content:"\F00E1"}.mdi-folder-image:before{content:"\F24F"}.mdi-folder-information:before{content:"\F00E2"}.mdi-folder-information-outline:before{content:"\F00E3"}.mdi-folder-key:before{content:"\F8AB"}.mdi-folder-key-network:before{content:"\F8AC"}.mdi-folder-key-network-outline:before{content:"\FC5C"}.mdi-folder-key-outline:before{content:"\F0117"}.mdi-folder-lock:before{content:"\F250"}.mdi-folder-lock-open:before{content:"\F251"}.mdi-folder-marker:before{content:"\F0298"}.mdi-folder-marker-outline:before{content:"\F0299"}.mdi-folder-move:before{content:"\F252"}.mdi-folder-move-outline:before{content:"\F0271"}.mdi-folder-multiple:before{content:"\F253"}.mdi-folder-multiple-image:before{content:"\F254"}.mdi-folder-multiple-outline:before{content:"\F255"}.mdi-folder-music:before{content:"\F0384"}.mdi-folder-music-outline:before{content:"\F0385"}.mdi-folder-network:before{content:"\F86F"}.mdi-folder-network-outline:before{content:"\FC5D"}.mdi-folder-open:before{content:"\F76F"}.mdi-folder-open-outline:before{content:"\FDAB"}.mdi-folder-outline:before{content:"\F256"}.mdi-folder-plus:before{content:"\F257"}.mdi-folder-plus-outline:before{content:"\FB79"}.mdi-folder-pound:before{content:"\FCE5"}.mdi-folder-pound-outline:before{content:"\FCE6"}.mdi-folder-remove:before{content:"\F258"}.mdi-folder-remove-outline:before{content:"\FB7A"}.mdi-folder-search:before{content:"\F967"}.mdi-folder-search-outline:before{content:"\F968"}.mdi-folder-settings:before{content:"\F00A8"}.mdi-folder-settings-outline:before{content:"\F00A9"}.mdi-folder-settings-variant:before{content:"\F00AA"}.mdi-folder-settings-variant-outline:before{content:"\F00AB"}.mdi-folder-star:before{content:"\F69C"}.mdi-folder-star-outline:before{content:"\FB7B"}.mdi-folder-swap:before{content:"\FFD6"}.mdi-folder-swap-outline:before{content:"\FFD7"}.mdi-folder-sync:before{content:"\FCE7"}.mdi-folder-sync-outline:before{content:"\FCE8"}.mdi-folder-table:before{content:"\F030E"}.mdi-folder-table-outline:before{content:"\F030F"}.mdi-folder-text:before{content:"\FC5E"}.mdi-folder-text-outline:before{content:"\FC5F"}.mdi-folder-upload:before{content:"\F259"}.mdi-folder-upload-outline:before{content:"\F0118"}.mdi-folder-zip:before{content:"\F6EA"}.mdi-folder-zip-outline:before{content:"\F7B8"}.mdi-font-awesome:before{content:"\F03A"}.mdi-food:before{content:"\F25A"}.mdi-food-apple:before{content:"\F25B"}.mdi-food-apple-outline:before{content:"\FC60"}.mdi-food-croissant:before{content:"\F7C7"}.mdi-food-fork-drink:before{content:"\F5F2"}.mdi-food-off:before{content:"\F5F3"}.mdi-food-variant:before{content:"\F25C"}.mdi-foot-print:before{content:"\FF6F"}.mdi-football:before{content:"\F25D"}.mdi-football-australian:before{content:"\F25E"}.mdi-football-helmet:before{content:"\F25F"}.mdi-forklift:before{content:"\F7C8"}.mdi-format-align-bottom:before{content:"\F752"}.mdi-format-align-center:before{content:"\F260"}.mdi-format-align-justify:before{content:"\F261"}.mdi-format-align-left:before{content:"\F262"}.mdi-format-align-middle:before{content:"\F753"}.mdi-format-align-right:before{content:"\F263"}.mdi-format-align-top:before{content:"\F754"}.mdi-format-annotation-minus:before{content:"\FABB"}.mdi-format-annotation-plus:before{content:"\F646"}.mdi-format-bold:before{content:"\F264"}.mdi-format-clear:before{content:"\F265"}.mdi-format-color-fill:before{content:"\F266"}.mdi-format-color-highlight:before{content:"\FE14"}.mdi-format-color-marker-cancel:before{content:"\F033E"}.mdi-format-color-text:before{content:"\F69D"}.mdi-format-columns:before{content:"\F8DE"}.mdi-format-float-center:before{content:"\F267"}.mdi-format-float-left:before{content:"\F268"}.mdi-format-float-none:before{content:"\F269"}.mdi-format-float-right:before{content:"\F26A"}.mdi-format-font:before{content:"\F6D5"}.mdi-format-font-size-decrease:before{content:"\F9F2"}.mdi-format-font-size-increase:before{content:"\F9F3"}.mdi-format-header-1:before{content:"\F26B"}.mdi-format-header-2:before{content:"\F26C"}.mdi-format-header-3:before{content:"\F26D"}.mdi-format-header-4:before{content:"\F26E"}.mdi-format-header-5:before{content:"\F26F"}.mdi-format-header-6:before{content:"\F270"}.mdi-format-header-decrease:before{content:"\F271"}.mdi-format-header-equal:before{content:"\F272"}.mdi-format-header-increase:before{content:"\F273"}.mdi-format-header-pound:before{content:"\F274"}.mdi-format-horizontal-align-center:before{content:"\F61E"}.mdi-format-horizontal-align-left:before{content:"\F61F"}.mdi-format-horizontal-align-right:before{content:"\F620"}.mdi-format-indent-decrease:before{content:"\F275"}.mdi-format-indent-increase:before{content:"\F276"}.mdi-format-italic:before{content:"\F277"}.mdi-format-letter-case:before{content:"\FB19"}.mdi-format-letter-case-lower:before{content:"\FB1A"}.mdi-format-letter-case-upper:before{content:"\FB1B"}.mdi-format-letter-ends-with:before{content:"\FFD8"}.mdi-format-letter-matches:before{content:"\FFD9"}.mdi-format-letter-starts-with:before{content:"\FFDA"}.mdi-format-line-spacing:before{content:"\F278"}.mdi-format-line-style:before{content:"\F5C8"}.mdi-format-line-weight:before{content:"\F5C9"}.mdi-format-list-bulleted:before{content:"\F279"}.mdi-format-list-bulleted-square:before{content:"\FDAC"}.mdi-format-list-bulleted-triangle:before{content:"\FECF"}.mdi-format-list-bulleted-type:before{content:"\F27A"}.mdi-format-list-checkbox:before{content:"\F969"}.mdi-format-list-checks:before{content:"\F755"}.mdi-format-list-numbered:before{content:"\F27B"}.mdi-format-list-numbered-rtl:before{content:"\FCE9"}.mdi-format-list-text:before{content:"\F029A"}.mdi-format-overline:before{content:"\FED0"}.mdi-format-page-break:before{content:"\F6D6"}.mdi-format-paint:before{content:"\F27C"}.mdi-format-paragraph:before{content:"\F27D"}.mdi-format-pilcrow:before{content:"\F6D7"}.mdi-format-quote-close:before{content:"\F27E"}.mdi-format-quote-close-outline:before{content:"\F01D3"}.mdi-format-quote-open:before{content:"\F756"}.mdi-format-quote-open-outline:before{content:"\F01D2"}.mdi-format-rotate-90:before{content:"\F6A9"}.mdi-format-section:before{content:"\F69E"}.mdi-format-size:before{content:"\F27F"}.mdi-format-strikethrough:before{content:"\F280"}.mdi-format-strikethrough-variant:before{content:"\F281"}.mdi-format-subscript:before{content:"\F282"}.mdi-format-superscript:before{content:"\F283"}.mdi-format-text:before{content:"\F284"}.mdi-format-text-rotation-angle-down:before{content:"\FFDB"}.mdi-format-text-rotation-angle-up:before{content:"\FFDC"}.mdi-format-text-rotation-down:before{content:"\FD4F"}.mdi-format-text-rotation-down-vertical:before{content:"\FFDD"}.mdi-format-text-rotation-none:before{content:"\FD50"}.mdi-format-text-rotation-up:before{content:"\FFDE"}.mdi-format-text-rotation-vertical:before{content:"\FFDF"}.mdi-format-text-variant:before{content:"\FE15"}.mdi-format-text-wrapping-clip:before{content:"\FCEA"}.mdi-format-text-wrapping-overflow:before{content:"\FCEB"}.mdi-format-text-wrapping-wrap:before{content:"\FCEC"}.mdi-format-textbox:before{content:"\FCED"}.mdi-format-textdirection-l-to-r:before{content:"\F285"}.mdi-format-textdirection-r-to-l:before{content:"\F286"}.mdi-format-title:before{content:"\F5F4"}.mdi-format-underline:before{content:"\F287"}.mdi-format-vertical-align-bottom:before{content:"\F621"}.mdi-format-vertical-align-center:before{content:"\F622"}.mdi-format-vertical-align-top:before{content:"\F623"}.mdi-format-wrap-inline:before{content:"\F288"}.mdi-format-wrap-square:before{content:"\F289"}.mdi-format-wrap-tight:before{content:"\F28A"}.mdi-format-wrap-top-bottom:before{content:"\F28B"}.mdi-forum:before{content:"\F28C"}.mdi-forum-outline:before{content:"\F821"}.mdi-forward:before{content:"\F28D"}.mdi-forwardburger:before{content:"\FD51"}.mdi-fountain:before{content:"\F96A"}.mdi-fountain-pen:before{content:"\FCEE"}.mdi-fountain-pen-tip:before{content:"\FCEF"}.mdi-foursquare:before{content:"\F28E"}.mdi-freebsd:before{content:"\F8DF"}.mdi-frequently-asked-questions:before{content:"\FED1"}.mdi-fridge:before{content:"\F290"}.mdi-fridge-alert:before{content:"\F01DC"}.mdi-fridge-alert-outline:before{content:"\F01DD"}.mdi-fridge-bottom:before{content:"\F292"}.mdi-fridge-off:before{content:"\F01DA"}.mdi-fridge-off-outline:before{content:"\F01DB"}.mdi-fridge-outline:before{content:"\F28F"}.mdi-fridge-top:before{content:"\F291"}.mdi-fruit-cherries:before{content:"\F0064"}.mdi-fruit-citrus:before{content:"\F0065"}.mdi-fruit-grapes:before{content:"\F0066"}.mdi-fruit-grapes-outline:before{content:"\F0067"}.mdi-fruit-pineapple:before{content:"\F0068"}.mdi-fruit-watermelon:before{content:"\F0069"}.mdi-fuel:before{content:"\F7C9"}.mdi-fullscreen:before{content:"\F293"}.mdi-fullscreen-exit:before{content:"\F294"}.mdi-function:before{content:"\F295"}.mdi-function-variant:before{content:"\F870"}.mdi-furigana-horizontal:before{content:"\F00AC"}.mdi-furigana-vertical:before{content:"\F00AD"}.mdi-fuse:before{content:"\FC61"}.mdi-fuse-blade:before{content:"\FC62"}.mdi-gamepad:before{content:"\F296"}.mdi-gamepad-circle:before{content:"\FE16"}.mdi-gamepad-circle-down:before{content:"\FE17"}.mdi-gamepad-circle-left:before{content:"\FE18"}.mdi-gamepad-circle-outline:before{content:"\FE19"}.mdi-gamepad-circle-right:before{content:"\FE1A"}.mdi-gamepad-circle-up:before{content:"\FE1B"}.mdi-gamepad-down:before{content:"\FE1C"}.mdi-gamepad-left:before{content:"\FE1D"}.mdi-gamepad-right:before{content:"\FE1E"}.mdi-gamepad-round:before{content:"\FE1F"}.mdi-gamepad-round-down:before{content:"\FE7E"}.mdi-gamepad-round-left:before{content:"\FE7F"}.mdi-gamepad-round-outline:before{content:"\FE80"}.mdi-gamepad-round-right:before{content:"\FE81"}.mdi-gamepad-round-up:before{content:"\FE82"}.mdi-gamepad-square:before{content:"\FED2"}.mdi-gamepad-square-outline:before{content:"\FED3"}.mdi-gamepad-up:before{content:"\FE83"}.mdi-gamepad-variant:before{content:"\F297"}.mdi-gamepad-variant-outline:before{content:"\FED4"}.mdi-gamma:before{content:"\F0119"}.mdi-gantry-crane:before{content:"\FDAD"}.mdi-garage:before{content:"\F6D8"}.mdi-garage-alert:before{content:"\F871"}.mdi-garage-alert-variant:before{content:"\F0300"}.mdi-garage-open:before{content:"\F6D9"}.mdi-garage-open-variant:before{content:"\F02FF"}.mdi-garage-variant:before{content:"\F02FE"}.mdi-gas-cylinder:before{content:"\F647"}.mdi-gas-station:before{content:"\F298"}.mdi-gas-station-outline:before{content:"\FED5"}.mdi-gate:before{content:"\F299"}.mdi-gate-and:before{content:"\F8E0"}.mdi-gate-arrow-right:before{content:"\F0194"}.mdi-gate-nand:before{content:"\F8E1"}.mdi-gate-nor:before{content:"\F8E2"}.mdi-gate-not:before{content:"\F8E3"}.mdi-gate-open:before{content:"\F0195"}.mdi-gate-or:before{content:"\F8E4"}.mdi-gate-xnor:before{content:"\F8E5"}.mdi-gate-xor:before{content:"\F8E6"}.mdi-gatsby:before{content:"\FE84"}.mdi-gauge:before{content:"\F29A"}.mdi-gauge-empty:before{content:"\F872"}.mdi-gauge-full:before{content:"\F873"}.mdi-gauge-low:before{content:"\F874"}.mdi-gavel:before{content:"\F29B"}.mdi-gender-female:before{content:"\F29C"}.mdi-gender-male:before{content:"\F29D"}.mdi-gender-male-female:before{content:"\F29E"}.mdi-gender-male-female-variant:before{content:"\F016A"}.mdi-gender-non-binary:before{content:"\F016B"}.mdi-gender-transgender:before{content:"\F29F"}.mdi-gentoo:before{content:"\F8E7"}.mdi-gesture:before{content:"\F7CA"}.mdi-gesture-double-tap:before{content:"\F73B"}.mdi-gesture-pinch:before{content:"\FABC"}.mdi-gesture-spread:before{content:"\FABD"}.mdi-gesture-swipe:before{content:"\FD52"}.mdi-gesture-swipe-down:before{content:"\F73C"}.mdi-gesture-swipe-horizontal:before{content:"\FABE"}.mdi-gesture-swipe-left:before{content:"\F73D"}.mdi-gesture-swipe-right:before{content:"\F73E"}.mdi-gesture-swipe-up:before{content:"\F73F"}.mdi-gesture-swipe-vertical:before{content:"\FABF"}.mdi-gesture-tap:before{content:"\F740"}.mdi-gesture-tap-box:before{content:"\F02D4"}.mdi-gesture-tap-button:before{content:"\F02D3"}.mdi-gesture-tap-hold:before{content:"\FD53"}.mdi-gesture-two-double-tap:before{content:"\F741"}.mdi-gesture-two-tap:before{content:"\F742"}.mdi-ghost:before{content:"\F2A0"}.mdi-ghost-off:before{content:"\F9F4"}.mdi-gif:before{content:"\FD54"}.mdi-gift:before{content:"\FE85"}.mdi-gift-outline:before{content:"\F2A1"}.mdi-git:before{content:"\F2A2"}.mdi-github-box:before{content:"\F2A3"}.mdi-github-circle:before{content:"\F2A4"}.mdi-github-face:before{content:"\F6DA"}.mdi-gitlab:before{content:"\FB7C"}.mdi-glass-cocktail:before{content:"\F356"}.mdi-glass-flute:before{content:"\F2A5"}.mdi-glass-mug:before{content:"\F2A6"}.mdi-glass-mug-variant:before{content:"\F0141"}.mdi-glass-pint-outline:before{content:"\F0338"}.mdi-glass-stange:before{content:"\F2A7"}.mdi-glass-tulip:before{content:"\F2A8"}.mdi-glass-wine:before{content:"\F875"}.mdi-glassdoor:before{content:"\F2A9"}.mdi-glasses:before{content:"\F2AA"}.mdi-globe-light:before{content:"\F0302"}.mdi-globe-model:before{content:"\F8E8"}.mdi-gmail:before{content:"\F2AB"}.mdi-gnome:before{content:"\F2AC"}.mdi-go-kart:before{content:"\FD55"}.mdi-go-kart-track:before{content:"\FD56"}.mdi-gog:before{content:"\FB7D"}.mdi-gold:before{content:"\F027A"}.mdi-golf:before{content:"\F822"}.mdi-golf-cart:before{content:"\F01CF"}.mdi-golf-tee:before{content:"\F00AE"}.mdi-gondola:before{content:"\F685"}.mdi-goodreads:before{content:"\FD57"}.mdi-google:before{content:"\F2AD"}.mdi-google-adwords:before{content:"\FC63"}.mdi-google-analytics:before{content:"\F7CB"}.mdi-google-assistant:before{content:"\F7CC"}.mdi-google-cardboard:before{content:"\F2AE"}.mdi-google-chrome:before{content:"\F2AF"}.mdi-google-circles:before{content:"\F2B0"}.mdi-google-circles-communities:before{content:"\F2B1"}.mdi-google-circles-extended:before{content:"\F2B2"}.mdi-google-circles-group:before{content:"\F2B3"}.mdi-google-classroom:before{content:"\F2C0"}.mdi-google-cloud:before{content:"\F0221"}.mdi-google-controller:before{content:"\F2B4"}.mdi-google-controller-off:before{content:"\F2B5"}.mdi-google-downasaur:before{content:"\F038D"}.mdi-google-drive:before{content:"\F2B6"}.mdi-google-earth:before{content:"\F2B7"}.mdi-google-fit:before{content:"\F96B"}.mdi-google-glass:before{content:"\F2B8"}.mdi-google-hangouts:before{content:"\F2C9"}.mdi-google-home:before{content:"\F823"}.mdi-google-keep:before{content:"\F6DB"}.mdi-google-lens:before{content:"\F9F5"}.mdi-google-maps:before{content:"\F5F5"}.mdi-google-my-business:before{content:"\F006A"}.mdi-google-nearby:before{content:"\F2B9"}.mdi-google-pages:before{content:"\F2BA"}.mdi-google-photos:before{content:"\F6DC"}.mdi-google-physical-web:before{content:"\F2BB"}.mdi-google-play:before{content:"\F2BC"}.mdi-google-plus:before{content:"\F2BD"}.mdi-google-plus-box:before{content:"\F2BE"}.mdi-google-podcast:before{content:"\FED6"}.mdi-google-spreadsheet:before{content:"\F9F6"}.mdi-google-street-view:before{content:"\FC64"}.mdi-google-translate:before{content:"\F2BF"}.mdi-gradient:before{content:"\F69F"}.mdi-grain:before{content:"\FD58"}.mdi-graph:before{content:"\F006B"}.mdi-graph-outline:before{content:"\F006C"}.mdi-graphql:before{content:"\F876"}.mdi-grave-stone:before{content:"\FB7E"}.mdi-grease-pencil:before{content:"\F648"}.mdi-greater-than:before{content:"\F96C"}.mdi-greater-than-or-equal:before{content:"\F96D"}.mdi-grid:before{content:"\F2C1"}.mdi-grid-large:before{content:"\F757"}.mdi-grid-off:before{content:"\F2C2"}.mdi-grill:before{content:"\FE86"}.mdi-grill-outline:before{content:"\F01B5"}.mdi-group:before{content:"\F2C3"}.mdi-guitar-acoustic:before{content:"\F770"}.mdi-guitar-electric:before{content:"\F2C4"}.mdi-guitar-pick:before{content:"\F2C5"}.mdi-guitar-pick-outline:before{content:"\F2C6"}.mdi-guy-fawkes-mask:before{content:"\F824"}.mdi-hackernews:before{content:"\F624"}.mdi-hail:before{content:"\FAC0"}.mdi-hair-dryer:before{content:"\F011A"}.mdi-hair-dryer-outline:before{content:"\F011B"}.mdi-halloween:before{content:"\FB7F"}.mdi-hamburger:before{content:"\F684"}.mdi-hammer:before{content:"\F8E9"}.mdi-hammer-screwdriver:before{content:"\F034D"}.mdi-hammer-wrench:before{content:"\F034E"}.mdi-hand:before{content:"\FA4E"}.mdi-hand-heart:before{content:"\F011C"}.mdi-hand-left:before{content:"\FE87"}.mdi-hand-okay:before{content:"\FA4F"}.mdi-hand-peace:before{content:"\FA50"}.mdi-hand-peace-variant:before{content:"\FA51"}.mdi-hand-pointing-down:before{content:"\FA52"}.mdi-hand-pointing-left:before{content:"\FA53"}.mdi-hand-pointing-right:before{content:"\F2C7"}.mdi-hand-pointing-up:before{content:"\FA54"}.mdi-hand-right:before{content:"\FE88"}.mdi-hand-saw:before{content:"\FE89"}.mdi-handball:before{content:"\FF70"}.mdi-handcuffs:before{content:"\F0169"}.mdi-handshake:before{content:"\F0243"}.mdi-hanger:before{content:"\F2C8"}.mdi-hard-hat:before{content:"\F96E"}.mdi-harddisk:before{content:"\F2CA"}.mdi-harddisk-plus:before{content:"\F006D"}.mdi-harddisk-remove:before{content:"\F006E"}.mdi-hat-fedora:before{content:"\FB80"}.mdi-hazard-lights:before{content:"\FC65"}.mdi-hdr:before{content:"\FD59"}.mdi-hdr-off:before{content:"\FD5A"}.mdi-head:before{content:"\F0389"}.mdi-head-alert:before{content:"\F0363"}.mdi-head-alert-outline:before{content:"\F0364"}.mdi-head-check:before{content:"\F0365"}.mdi-head-check-outline:before{content:"\F0366"}.mdi-head-cog:before{content:"\F0367"}.mdi-head-cog-outline:before{content:"\F0368"}.mdi-head-dots-horizontal:before{content:"\F0369"}.mdi-head-dots-horizontal-outline:before{content:"\F036A"}.mdi-head-flash:before{content:"\F036B"}.mdi-head-flash-outline:before{content:"\F036C"}.mdi-head-heart:before{content:"\F036D"}.mdi-head-heart-outline:before{content:"\F036E"}.mdi-head-lightbulb:before{content:"\F036F"}.mdi-head-lightbulb-outline:before{content:"\F0370"}.mdi-head-minus:before{content:"\F0371"}.mdi-head-minus-outline:before{content:"\F0372"}.mdi-head-outline:before{content:"\F038A"}.mdi-head-plus:before{content:"\F0373"}.mdi-head-plus-outline:before{content:"\F0374"}.mdi-head-question:before{content:"\F0375"}.mdi-head-question-outline:before{content:"\F0376"}.mdi-head-remove:before{content:"\F0377"}.mdi-head-remove-outline:before{content:"\F0378"}.mdi-head-snowflake:before{content:"\F0379"}.mdi-head-snowflake-outline:before{content:"\F037A"}.mdi-head-sync:before{content:"\F037B"}.mdi-head-sync-outline:before{content:"\F037C"}.mdi-headphones:before{content:"\F2CB"}.mdi-headphones-bluetooth:before{content:"\F96F"}.mdi-headphones-box:before{content:"\F2CC"}.mdi-headphones-off:before{content:"\F7CD"}.mdi-headphones-settings:before{content:"\F2CD"}.mdi-headset:before{content:"\F2CE"}.mdi-headset-dock:before{content:"\F2CF"}.mdi-headset-off:before{content:"\F2D0"}.mdi-heart:before{content:"\F2D1"}.mdi-heart-box:before{content:"\F2D2"}.mdi-heart-box-outline:before{content:"\F2D3"}.mdi-heart-broken:before{content:"\F2D4"}.mdi-heart-broken-outline:before{content:"\FCF0"}.mdi-heart-circle:before{content:"\F970"}.mdi-heart-circle-outline:before{content:"\F971"}.mdi-heart-flash:before{content:"\FF16"}.mdi-heart-half:before{content:"\F6DE"}.mdi-heart-half-full:before{content:"\F6DD"}.mdi-heart-half-outline:before{content:"\F6DF"}.mdi-heart-multiple:before{content:"\FA55"}.mdi-heart-multiple-outline:before{content:"\FA56"}.mdi-heart-off:before{content:"\F758"}.mdi-heart-outline:before{content:"\F2D5"}.mdi-heart-pulse:before{content:"\F5F6"}.mdi-helicopter:before{content:"\FAC1"}.mdi-help:before{content:"\F2D6"}.mdi-help-box:before{content:"\F78A"}.mdi-help-circle:before{content:"\F2D7"}.mdi-help-circle-outline:before{content:"\F625"}.mdi-help-network:before{content:"\F6F4"}.mdi-help-network-outline:before{content:"\FC66"}.mdi-help-rhombus:before{content:"\FB81"}.mdi-help-rhombus-outline:before{content:"\FB82"}.mdi-hexadecimal:before{content:"\F02D2"}.mdi-hexagon:before{content:"\F2D8"}.mdi-hexagon-multiple:before{content:"\F6E0"}.mdi-hexagon-multiple-outline:before{content:"\F011D"}.mdi-hexagon-outline:before{content:"\F2D9"}.mdi-hexagon-slice-1:before{content:"\FAC2"}.mdi-hexagon-slice-2:before{content:"\FAC3"}.mdi-hexagon-slice-3:before{content:"\FAC4"}.mdi-hexagon-slice-4:before{content:"\FAC5"}.mdi-hexagon-slice-5:before{content:"\FAC6"}.mdi-hexagon-slice-6:before{content:"\FAC7"}.mdi-hexagram:before{content:"\FAC8"}.mdi-hexagram-outline:before{content:"\FAC9"}.mdi-high-definition:before{content:"\F7CE"}.mdi-high-definition-box:before{content:"\F877"}.mdi-highway:before{content:"\F5F7"}.mdi-hiking:before{content:"\FD5B"}.mdi-hinduism:before{content:"\F972"}.mdi-history:before{content:"\F2DA"}.mdi-hockey-puck:before{content:"\F878"}.mdi-hockey-sticks:before{content:"\F879"}.mdi-hololens:before{content:"\F2DB"}.mdi-home:before{content:"\F2DC"}.mdi-home-account:before{content:"\F825"}.mdi-home-alert:before{content:"\F87A"}.mdi-home-analytics:before{content:"\FED7"}.mdi-home-assistant:before{content:"\F7CF"}.mdi-home-automation:before{content:"\F7D0"}.mdi-home-circle:before{content:"\F7D1"}.mdi-home-circle-outline:before{content:"\F006F"}.mdi-home-city:before{content:"\FCF1"}.mdi-home-city-outline:before{content:"\FCF2"}.mdi-home-currency-usd:before{content:"\F8AE"}.mdi-home-edit:before{content:"\F0184"}.mdi-home-edit-outline:before{content:"\F0185"}.mdi-home-export-outline:before{content:"\FFB8"}.mdi-home-flood:before{content:"\FF17"}.mdi-home-floor-0:before{content:"\FDAE"}.mdi-home-floor-1:before{content:"\FD5C"}.mdi-home-floor-2:before{content:"\FD5D"}.mdi-home-floor-3:before{content:"\FD5E"}.mdi-home-floor-a:before{content:"\FD5F"}.mdi-home-floor-b:before{content:"\FD60"}.mdi-home-floor-g:before{content:"\FD61"}.mdi-home-floor-l:before{content:"\FD62"}.mdi-home-floor-negative-1:before{content:"\FDAF"}.mdi-home-group:before{content:"\FDB0"}.mdi-home-heart:before{content:"\F826"}.mdi-home-import-outline:before{content:"\FFB9"}.mdi-home-lightbulb:before{content:"\F027C"}.mdi-home-lightbulb-outline:before{content:"\F027D"}.mdi-home-lock:before{content:"\F8EA"}.mdi-home-lock-open:before{content:"\F8EB"}.mdi-home-map-marker:before{content:"\F5F8"}.mdi-home-minus:before{content:"\F973"}.mdi-home-modern:before{content:"\F2DD"}.mdi-home-outline:before{content:"\F6A0"}.mdi-home-plus:before{content:"\F974"}.mdi-home-remove:before{content:"\F0272"}.mdi-home-roof:before{content:"\F0156"}.mdi-home-thermometer:before{content:"\FF71"}.mdi-home-thermometer-outline:before{content:"\FF72"}.mdi-home-variant:before{content:"\F2DE"}.mdi-home-variant-outline:before{content:"\FB83"}.mdi-hook:before{content:"\F6E1"}.mdi-hook-off:before{content:"\F6E2"}.mdi-hops:before{content:"\F2DF"}.mdi-horizontal-rotate-clockwise:before{content:"\F011E"}.mdi-horizontal-rotate-counterclockwise:before{content:"\F011F"}.mdi-horseshoe:before{content:"\FA57"}.mdi-hospital:before{content:"\F0017"}.mdi-hospital-box:before{content:"\F2E0"}.mdi-hospital-box-outline:before{content:"\F0018"}.mdi-hospital-building:before{content:"\F2E1"}.mdi-hospital-marker:before{content:"\F2E2"}.mdi-hot-tub:before{content:"\F827"}.mdi-hotel:before{content:"\F2E3"}.mdi-houzz:before{content:"\F2E4"}.mdi-houzz-box:before{content:"\F2E5"}.mdi-hubspot:before{content:"\FCF3"}.mdi-hulu:before{content:"\F828"}.mdi-human:before{content:"\F2E6"}.mdi-human-child:before{content:"\F2E7"}.mdi-human-female:before{content:"\F649"}.mdi-human-female-boy:before{content:"\FA58"}.mdi-human-female-female:before{content:"\FA59"}.mdi-human-female-girl:before{content:"\FA5A"}.mdi-human-greeting:before{content:"\F64A"}.mdi-human-handsdown:before{content:"\F64B"}.mdi-human-handsup:before{content:"\F64C"}.mdi-human-male:before{content:"\F64D"}.mdi-human-male-boy:before{content:"\FA5B"}.mdi-human-male-female:before{content:"\F2E8"}.mdi-human-male-girl:before{content:"\FA5C"}.mdi-human-male-height:before{content:"\FF18"}.mdi-human-male-height-variant:before{content:"\FF19"}.mdi-human-male-male:before{content:"\FA5D"}.mdi-human-pregnant:before{content:"\F5CF"}.mdi-humble-bundle:before{content:"\F743"}.mdi-hvac:before{content:"\F037D"}.mdi-hydraulic-oil-level:before{content:"\F034F"}.mdi-hydraulic-oil-temperature:before{content:"\F0350"}.mdi-hydro-power:before{content:"\F0310"}.mdi-ice-cream:before{content:"\F829"}.mdi-ice-pop:before{content:"\FF1A"}.mdi-id-card:before{content:"\FFE0"}.mdi-identifier:before{content:"\FF1B"}.mdi-ideogram-cjk:before{content:"\F035C"}.mdi-ideogram-cjk-variant:before{content:"\F035D"}.mdi-iframe:before{content:"\FC67"}.mdi-iframe-array:before{content:"\F0120"}.mdi-iframe-array-outline:before{content:"\F0121"}.mdi-iframe-braces:before{content:"\F0122"}.mdi-iframe-braces-outline:before{content:"\F0123"}.mdi-iframe-outline:before{content:"\FC68"}.mdi-iframe-parentheses:before{content:"\F0124"}.mdi-iframe-parentheses-outline:before{content:"\F0125"}.mdi-iframe-variable:before{content:"\F0126"}.mdi-iframe-variable-outline:before{content:"\F0127"}.mdi-image:before{content:"\F2E9"}.mdi-image-album:before{content:"\F2EA"}.mdi-image-area:before{content:"\F2EB"}.mdi-image-area-close:before{content:"\F2EC"}.mdi-image-auto-adjust:before{content:"\FFE1"}.mdi-image-broken:before{content:"\F2ED"}.mdi-image-broken-variant:before{content:"\F2EE"}.mdi-image-edit:before{content:"\F020E"}.mdi-image-edit-outline:before{content:"\F020F"}.mdi-image-filter:before{content:"\F2EF"}.mdi-image-filter-black-white:before{content:"\F2F0"}.mdi-image-filter-center-focus:before{content:"\F2F1"}.mdi-image-filter-center-focus-strong:before{content:"\FF1C"}.mdi-image-filter-center-focus-strong-outline:before{content:"\FF1D"}.mdi-image-filter-center-focus-weak:before{content:"\F2F2"}.mdi-image-filter-drama:before{content:"\F2F3"}.mdi-image-filter-frames:before{content:"\F2F4"}.mdi-image-filter-hdr:before{content:"\F2F5"}.mdi-image-filter-none:before{content:"\F2F6"}.mdi-image-filter-tilt-shift:before{content:"\F2F7"}.mdi-image-filter-vintage:before{content:"\F2F8"}.mdi-image-frame:before{content:"\FE8A"}.mdi-image-move:before{content:"\F9F7"}.mdi-image-multiple:before{content:"\F2F9"}.mdi-image-off:before{content:"\F82A"}.mdi-image-off-outline:before{content:"\F01FC"}.mdi-image-outline:before{content:"\F975"}.mdi-image-plus:before{content:"\F87B"}.mdi-image-search:before{content:"\F976"}.mdi-image-search-outline:before{content:"\F977"}.mdi-image-size-select-actual:before{content:"\FC69"}.mdi-image-size-select-large:before{content:"\FC6A"}.mdi-image-size-select-small:before{content:"\FC6B"}.mdi-import:before{content:"\F2FA"}.mdi-inbox:before{content:"\F686"}.mdi-inbox-arrow-down:before{content:"\F2FB"}.mdi-inbox-arrow-down-outline:before{content:"\F029B"}.mdi-inbox-arrow-up:before{content:"\F3D1"}.mdi-inbox-arrow-up-outline:before{content:"\F029C"}.mdi-inbox-full:before{content:"\F029D"}.mdi-inbox-full-outline:before{content:"\F029E"}.mdi-inbox-multiple:before{content:"\F8AF"}.mdi-inbox-multiple-outline:before{content:"\FB84"}.mdi-inbox-outline:before{content:"\F029F"}.mdi-incognito:before{content:"\F5F9"}.mdi-infinity:before{content:"\F6E3"}.mdi-information:before{content:"\F2FC"}.mdi-information-outline:before{content:"\F2FD"}.mdi-information-variant:before{content:"\F64E"}.mdi-instagram:before{content:"\F2FE"}.mdi-instapaper:before{content:"\F2FF"}.mdi-instrument-triangle:before{content:"\F0070"}.mdi-internet-explorer:before{content:"\F300"}.mdi-invert-colors:before{content:"\F301"}.mdi-invert-colors-off:before{content:"\FE8B"}.mdi-iobroker:before{content:"\F0313"}.mdi-ip:before{content:"\FA5E"}.mdi-ip-network:before{content:"\FA5F"}.mdi-ip-network-outline:before{content:"\FC6C"}.mdi-ipod:before{content:"\FC6D"}.mdi-islam:before{content:"\F978"}.mdi-island:before{content:"\F0071"}.mdi-itunes:before{content:"\F676"}.mdi-iv-bag:before{content:"\F00E4"}.mdi-jabber:before{content:"\FDB1"}.mdi-jeepney:before{content:"\F302"}.mdi-jellyfish:before{content:"\FF1E"}.mdi-jellyfish-outline:before{content:"\FF1F"}.mdi-jira:before{content:"\F303"}.mdi-jquery:before{content:"\F87C"}.mdi-jsfiddle:before{content:"\F304"}.mdi-json:before{content:"\F626"}.mdi-judaism:before{content:"\F979"}.mdi-jump-rope:before{content:"\F032A"}.mdi-kabaddi:before{content:"\FD63"}.mdi-karate:before{content:"\F82B"}.mdi-keg:before{content:"\F305"}.mdi-kettle:before{content:"\F5FA"}.mdi-kettle-alert:before{content:"\F0342"}.mdi-kettle-alert-outline:before{content:"\F0343"}.mdi-kettle-off:before{content:"\F0346"}.mdi-kettle-off-outline:before{content:"\F0347"}.mdi-kettle-outline:before{content:"\FF73"}.mdi-kettle-steam:before{content:"\F0344"}.mdi-kettle-steam-outline:before{content:"\F0345"}.mdi-kettlebell:before{content:"\F032B"}.mdi-key:before{content:"\F306"}.mdi-key-arrow-right:before{content:"\F033D"}.mdi-key-change:before{content:"\F307"}.mdi-key-link:before{content:"\F01CA"}.mdi-key-minus:before{content:"\F308"}.mdi-key-outline:before{content:"\FDB2"}.mdi-key-plus:before{content:"\F309"}.mdi-key-remove:before{content:"\F30A"}.mdi-key-star:before{content:"\F01C9"}.mdi-key-variant:before{content:"\F30B"}.mdi-key-wireless:before{content:"\FFE2"}.mdi-keyboard:before{content:"\F30C"}.mdi-keyboard-backspace:before{content:"\F30D"}.mdi-keyboard-caps:before{content:"\F30E"}.mdi-keyboard-close:before{content:"\F30F"}.mdi-keyboard-esc:before{content:"\F02E2"}.mdi-keyboard-f1:before{content:"\F02D6"}.mdi-keyboard-f10:before{content:"\F02DF"}.mdi-keyboard-f11:before{content:"\F02E0"}.mdi-keyboard-f12:before{content:"\F02E1"}.mdi-keyboard-f2:before{content:"\F02D7"}.mdi-keyboard-f3:before{content:"\F02D8"}.mdi-keyboard-f4:before{content:"\F02D9"}.mdi-keyboard-f5:before{content:"\F02DA"}.mdi-keyboard-f6:before{content:"\F02DB"}.mdi-keyboard-f7:before{content:"\F02DC"}.mdi-keyboard-f8:before{content:"\F02DD"}.mdi-keyboard-f9:before{content:"\F02DE"}.mdi-keyboard-off:before{content:"\F310"}.mdi-keyboard-off-outline:before{content:"\FE8C"}.mdi-keyboard-outline:before{content:"\F97A"}.mdi-keyboard-return:before{content:"\F311"}.mdi-keyboard-settings:before{content:"\F9F8"}.mdi-keyboard-settings-outline:before{content:"\F9F9"}.mdi-keyboard-space:before{content:"\F0072"}.mdi-keyboard-tab:before{content:"\F312"}.mdi-keyboard-variant:before{content:"\F313"}.mdi-khanda:before{content:"\F0128"}.mdi-kickstarter:before{content:"\F744"}.mdi-klingon:before{content:"\F0386"}.mdi-knife:before{content:"\F9FA"}.mdi-knife-military:before{content:"\F9FB"}.mdi-kodi:before{content:"\F314"}.mdi-kotlin:before{content:"\F0244"}.mdi-kubernetes:before{content:"\F0129"}.mdi-label:before{content:"\F315"}.mdi-label-multiple:before{content:"\F03A0"}.mdi-label-multiple-outline:before{content:"\F03A1"}.mdi-label-off:before{content:"\FACA"}.mdi-label-off-outline:before{content:"\FACB"}.mdi-label-outline:before{content:"\F316"}.mdi-label-percent:before{content:"\F0315"}.mdi-label-percent-outline:before{content:"\F0316"}.mdi-label-variant:before{content:"\FACC"}.mdi-label-variant-outline:before{content:"\FACD"}.mdi-ladybug:before{content:"\F82C"}.mdi-lambda:before{content:"\F627"}.mdi-lamp:before{content:"\F6B4"}.mdi-lan:before{content:"\F317"}.mdi-lan-check:before{content:"\F02D5"}.mdi-lan-connect:before{content:"\F318"}.mdi-lan-disconnect:before{content:"\F319"}.mdi-lan-pending:before{content:"\F31A"}.mdi-language-c:before{content:"\F671"}.mdi-language-cpp:before{content:"\F672"}.mdi-language-csharp:before{content:"\F31B"}.mdi-language-css3:before{content:"\F31C"}.mdi-language-fortran:before{content:"\F0245"}.mdi-language-go:before{content:"\F7D2"}.mdi-language-haskell:before{content:"\FC6E"}.mdi-language-html5:before{content:"\F31D"}.mdi-language-java:before{content:"\FB1C"}.mdi-language-javascript:before{content:"\F31E"}.mdi-language-lua:before{content:"\F8B0"}.mdi-language-php:before{content:"\F31F"}.mdi-language-python:before{content:"\F320"}.mdi-language-python-text:before{content:"\F321"}.mdi-language-r:before{content:"\F7D3"}.mdi-language-ruby-on-rails:before{content:"\FACE"}.mdi-language-swift:before{content:"\F6E4"}.mdi-language-typescript:before{content:"\F6E5"}.mdi-laptop:before{content:"\F322"}.mdi-laptop-chromebook:before{content:"\F323"}.mdi-laptop-mac:before{content:"\F324"}.mdi-laptop-off:before{content:"\F6E6"}.mdi-laptop-windows:before{content:"\F325"}.mdi-laravel:before{content:"\FACF"}.mdi-lasso:before{content:"\FF20"}.mdi-lastfm:before{content:"\F326"}.mdi-lastpass:before{content:"\F446"}.mdi-latitude:before{content:"\FF74"}.mdi-launch:before{content:"\F327"}.mdi-lava-lamp:before{content:"\F7D4"}.mdi-layers:before{content:"\F328"}.mdi-layers-minus:before{content:"\FE8D"}.mdi-layers-off:before{content:"\F329"}.mdi-layers-off-outline:before{content:"\F9FC"}.mdi-layers-outline:before{content:"\F9FD"}.mdi-layers-plus:before{content:"\FE30"}.mdi-layers-remove:before{content:"\FE31"}.mdi-layers-search:before{content:"\F0231"}.mdi-layers-search-outline:before{content:"\F0232"}.mdi-layers-triple:before{content:"\FF75"}.mdi-layers-triple-outline:before{content:"\FF76"}.mdi-lead-pencil:before{content:"\F64F"}.mdi-leaf:before{content:"\F32A"}.mdi-leaf-maple:before{content:"\FC6F"}.mdi-leaf-maple-off:before{content:"\F0305"}.mdi-leaf-off:before{content:"\F0304"}.mdi-leak:before{content:"\FDB3"}.mdi-leak-off:before{content:"\FDB4"}.mdi-led-off:before{content:"\F32B"}.mdi-led-on:before{content:"\F32C"}.mdi-led-outline:before{content:"\F32D"}.mdi-led-strip:before{content:"\F7D5"}.mdi-led-strip-variant:before{content:"\F0073"}.mdi-led-variant-off:before{content:"\F32E"}.mdi-led-variant-on:before{content:"\F32F"}.mdi-led-variant-outline:before{content:"\F330"}.mdi-leek:before{content:"\F01A8"}.mdi-less-than:before{content:"\F97B"}.mdi-less-than-or-equal:before{content:"\F97C"}.mdi-library:before{content:"\F331"}.mdi-library-books:before{content:"\F332"}.mdi-library-movie:before{content:"\FCF4"}.mdi-library-music:before{content:"\F333"}.mdi-library-music-outline:before{content:"\FF21"}.mdi-library-shelves:before{content:"\FB85"}.mdi-library-video:before{content:"\FCF5"}.mdi-license:before{content:"\FFE3"}.mdi-lifebuoy:before{content:"\F87D"}.mdi-light-switch:before{content:"\F97D"}.mdi-lightbulb:before{content:"\F335"}.mdi-lightbulb-cfl:before{content:"\F0233"}.mdi-lightbulb-cfl-off:before{content:"\F0234"}.mdi-lightbulb-cfl-spiral:before{content:"\F02A0"}.mdi-lightbulb-cfl-spiral-off:before{content:"\F02EE"}.mdi-lightbulb-group:before{content:"\F027E"}.mdi-lightbulb-group-off:before{content:"\F02F8"}.mdi-lightbulb-group-off-outline:before{content:"\F02F9"}.mdi-lightbulb-group-outline:before{content:"\F027F"}.mdi-lightbulb-multiple:before{content:"\F0280"}.mdi-lightbulb-multiple-off:before{content:"\F02FA"}.mdi-lightbulb-multiple-off-outline:before{content:"\F02FB"}.mdi-lightbulb-multiple-outline:before{content:"\F0281"}.mdi-lightbulb-off:before{content:"\FE32"}.mdi-lightbulb-off-outline:before{content:"\FE33"}.mdi-lightbulb-on:before{content:"\F6E7"}.mdi-lightbulb-on-outline:before{content:"\F6E8"}.mdi-lightbulb-outline:before{content:"\F336"}.mdi-lighthouse:before{content:"\F9FE"}.mdi-lighthouse-on:before{content:"\F9FF"}.mdi-link:before{content:"\F337"}.mdi-link-box:before{content:"\FCF6"}.mdi-link-box-outline:before{content:"\FCF7"}.mdi-link-box-variant:before{content:"\FCF8"}.mdi-link-box-variant-outline:before{content:"\FCF9"}.mdi-link-lock:before{content:"\F00E5"}.mdi-link-off:before{content:"\F338"}.mdi-link-plus:before{content:"\FC70"}.mdi-link-variant:before{content:"\F339"}.mdi-link-variant-minus:before{content:"\F012A"}.mdi-link-variant-off:before{content:"\F33A"}.mdi-link-variant-plus:before{content:"\F012B"}.mdi-link-variant-remove:before{content:"\F012C"}.mdi-linkedin:before{content:"\F33B"}.mdi-linkedin-box:before{content:"\F33C"}.mdi-linux:before{content:"\F33D"}.mdi-linux-mint:before{content:"\F8EC"}.mdi-litecoin:before{content:"\FA60"}.mdi-loading:before{content:"\F771"}.mdi-location-enter:before{content:"\FFE4"}.mdi-location-exit:before{content:"\FFE5"}.mdi-lock:before{content:"\F33E"}.mdi-lock-alert:before{content:"\F8ED"}.mdi-lock-clock:before{content:"\F97E"}.mdi-lock-open:before{content:"\F33F"}.mdi-lock-open-outline:before{content:"\F340"}.mdi-lock-open-variant:before{content:"\FFE6"}.mdi-lock-open-variant-outline:before{content:"\FFE7"}.mdi-lock-outline:before{content:"\F341"}.mdi-lock-pattern:before{content:"\F6E9"}.mdi-lock-plus:before{content:"\F5FB"}.mdi-lock-question:before{content:"\F8EE"}.mdi-lock-reset:before{content:"\F772"}.mdi-lock-smart:before{content:"\F8B1"}.mdi-locker:before{content:"\F7D6"}.mdi-locker-multiple:before{content:"\F7D7"}.mdi-login:before{content:"\F342"}.mdi-login-variant:before{content:"\F5FC"}.mdi-logout:before{content:"\F343"}.mdi-logout-variant:before{content:"\F5FD"}.mdi-longitude:before{content:"\FF77"}.mdi-looks:before{content:"\F344"}.mdi-loupe:before{content:"\F345"}.mdi-lumx:before{content:"\F346"}.mdi-lungs:before{content:"\F00AF"}.mdi-lyft:before{content:"\FB1D"}.mdi-magnet:before{content:"\F347"}.mdi-magnet-on:before{content:"\F348"}.mdi-magnify:before{content:"\F349"}.mdi-magnify-close:before{content:"\F97F"}.mdi-magnify-minus:before{content:"\F34A"}.mdi-magnify-minus-cursor:before{content:"\FA61"}.mdi-magnify-minus-outline:before{content:"\F6EB"}.mdi-magnify-plus:before{content:"\F34B"}.mdi-magnify-plus-cursor:before{content:"\FA62"}.mdi-magnify-plus-outline:before{content:"\F6EC"}.mdi-magnify-remove-cursor:before{content:"\F0237"}.mdi-magnify-remove-outline:before{content:"\F0238"}.mdi-magnify-scan:before{content:"\F02A1"}.mdi-mail:before{content:"\FED8"}.mdi-mail-ru:before{content:"\F34C"}.mdi-mailbox:before{content:"\F6ED"}.mdi-mailbox-open:before{content:"\FD64"}.mdi-mailbox-open-outline:before{content:"\FD65"}.mdi-mailbox-open-up:before{content:"\FD66"}.mdi-mailbox-open-up-outline:before{content:"\FD67"}.mdi-mailbox-outline:before{content:"\FD68"}.mdi-mailbox-up:before{content:"\FD69"}.mdi-mailbox-up-outline:before{content:"\FD6A"}.mdi-map:before{content:"\F34D"}.mdi-map-check:before{content:"\FED9"}.mdi-map-check-outline:before{content:"\FEDA"}.mdi-map-clock:before{content:"\FCFA"}.mdi-map-clock-outline:before{content:"\FCFB"}.mdi-map-legend:before{content:"\FA00"}.mdi-map-marker:before{content:"\F34E"}.mdi-map-marker-alert:before{content:"\FF22"}.mdi-map-marker-alert-outline:before{content:"\FF23"}.mdi-map-marker-check:before{content:"\FC71"}.mdi-map-marker-check-outline:before{content:"\F0326"}.mdi-map-marker-circle:before{content:"\F34F"}.mdi-map-marker-distance:before{content:"\F8EF"}.mdi-map-marker-down:before{content:"\F012D"}.mdi-map-marker-left:before{content:"\F0306"}.mdi-map-marker-left-outline:before{content:"\F0308"}.mdi-map-marker-minus:before{content:"\F650"}.mdi-map-marker-minus-outline:before{content:"\F0324"}.mdi-map-marker-multiple:before{content:"\F350"}.mdi-map-marker-multiple-outline:before{content:"\F02A2"}.mdi-map-marker-off:before{content:"\F351"}.mdi-map-marker-off-outline:before{content:"\F0328"}.mdi-map-marker-outline:before{content:"\F7D8"}.mdi-map-marker-path:before{content:"\FCFC"}.mdi-map-marker-plus:before{content:"\F651"}.mdi-map-marker-plus-outline:before{content:"\F0323"}.mdi-map-marker-question:before{content:"\FF24"}.mdi-map-marker-question-outline:before{content:"\FF25"}.mdi-map-marker-radius:before{content:"\F352"}.mdi-map-marker-radius-outline:before{content:"\F0327"}.mdi-map-marker-remove:before{content:"\FF26"}.mdi-map-marker-remove-outline:before{content:"\F0325"}.mdi-map-marker-remove-variant:before{content:"\FF27"}.mdi-map-marker-right:before{content:"\F0307"}.mdi-map-marker-right-outline:before{content:"\F0309"}.mdi-map-marker-up:before{content:"\F012E"}.mdi-map-minus:before{content:"\F980"}.mdi-map-outline:before{content:"\F981"}.mdi-map-plus:before{content:"\F982"}.mdi-map-search:before{content:"\F983"}.mdi-map-search-outline:before{content:"\F984"}.mdi-mapbox:before{content:"\FB86"}.mdi-margin:before{content:"\F353"}.mdi-markdown:before{content:"\F354"}.mdi-markdown-outline:before{content:"\FF78"}.mdi-marker:before{content:"\F652"}.mdi-marker-cancel:before{content:"\FDB5"}.mdi-marker-check:before{content:"\F355"}.mdi-mastodon:before{content:"\FAD0"}.mdi-mastodon-variant:before{content:"\FAD1"}.mdi-material-design:before{content:"\F985"}.mdi-material-ui:before{content:"\F357"}.mdi-math-compass:before{content:"\F358"}.mdi-math-cos:before{content:"\FC72"}.mdi-math-integral:before{content:"\FFE8"}.mdi-math-integral-box:before{content:"\FFE9"}.mdi-math-log:before{content:"\F00B0"}.mdi-math-norm:before{content:"\FFEA"}.mdi-math-norm-box:before{content:"\FFEB"}.mdi-math-sin:before{content:"\FC73"}.mdi-math-tan:before{content:"\FC74"}.mdi-matrix:before{content:"\F628"}.mdi-medal:before{content:"\F986"}.mdi-medal-outline:before{content:"\F0351"}.mdi-medical-bag:before{content:"\F6EE"}.mdi-meditation:before{content:"\F01A6"}.mdi-medium:before{content:"\F35A"}.mdi-meetup:before{content:"\FAD2"}.mdi-memory:before{content:"\F35B"}.mdi-menu:before{content:"\F35C"}.mdi-menu-down:before{content:"\F35D"}.mdi-menu-down-outline:before{content:"\F6B5"}.mdi-menu-left:before{content:"\F35E"}.mdi-menu-left-outline:before{content:"\FA01"}.mdi-menu-open:before{content:"\FB87"}.mdi-menu-right:before{content:"\F35F"}.mdi-menu-right-outline:before{content:"\FA02"}.mdi-menu-swap:before{content:"\FA63"}.mdi-menu-swap-outline:before{content:"\FA64"}.mdi-menu-up:before{content:"\F360"}.mdi-menu-up-outline:before{content:"\F6B6"}.mdi-merge:before{content:"\FF79"}.mdi-message:before{content:"\F361"}.mdi-message-alert:before{content:"\F362"}.mdi-message-alert-outline:before{content:"\FA03"}.mdi-message-arrow-left:before{content:"\F031D"}.mdi-message-arrow-left-outline:before{content:"\F031E"}.mdi-message-arrow-right:before{content:"\F031F"}.mdi-message-arrow-right-outline:before{content:"\F0320"}.mdi-message-bulleted:before{content:"\F6A1"}.mdi-message-bulleted-off:before{content:"\F6A2"}.mdi-message-draw:before{content:"\F363"}.mdi-message-image:before{content:"\F364"}.mdi-message-image-outline:before{content:"\F0197"}.mdi-message-lock:before{content:"\FFEC"}.mdi-message-lock-outline:before{content:"\F0198"}.mdi-message-minus:before{content:"\F0199"}.mdi-message-minus-outline:before{content:"\F019A"}.mdi-message-outline:before{content:"\F365"}.mdi-message-plus:before{content:"\F653"}.mdi-message-plus-outline:before{content:"\F00E6"}.mdi-message-processing:before{content:"\F366"}.mdi-message-processing-outline:before{content:"\F019B"}.mdi-message-reply:before{content:"\F367"}.mdi-message-reply-text:before{content:"\F368"}.mdi-message-settings:before{content:"\F6EF"}.mdi-message-settings-outline:before{content:"\F019C"}.mdi-message-settings-variant:before{content:"\F6F0"}.mdi-message-settings-variant-outline:before{content:"\F019D"}.mdi-message-text:before{content:"\F369"}.mdi-message-text-clock:before{content:"\F019E"}.mdi-message-text-clock-outline:before{content:"\F019F"}.mdi-message-text-lock:before{content:"\FFED"}.mdi-message-text-lock-outline:before{content:"\F01A0"}.mdi-message-text-outline:before{content:"\F36A"}.mdi-message-video:before{content:"\F36B"}.mdi-meteor:before{content:"\F629"}.mdi-metronome:before{content:"\F7D9"}.mdi-metronome-tick:before{content:"\F7DA"}.mdi-micro-sd:before{content:"\F7DB"}.mdi-microphone:before{content:"\F36C"}.mdi-microphone-minus:before{content:"\F8B2"}.mdi-microphone-off:before{content:"\F36D"}.mdi-microphone-outline:before{content:"\F36E"}.mdi-microphone-plus:before{content:"\F8B3"}.mdi-microphone-settings:before{content:"\F36F"}.mdi-microphone-variant:before{content:"\F370"}.mdi-microphone-variant-off:before{content:"\F371"}.mdi-microscope:before{content:"\F654"}.mdi-microsoft:before{content:"\F372"}.mdi-microsoft-dynamics:before{content:"\F987"}.mdi-microwave:before{content:"\FC75"}.mdi-middleware:before{content:"\FF7A"}.mdi-middleware-outline:before{content:"\FF7B"}.mdi-midi:before{content:"\F8F0"}.mdi-midi-port:before{content:"\F8F1"}.mdi-mine:before{content:"\FDB6"}.mdi-minecraft:before{content:"\F373"}.mdi-mini-sd:before{content:"\FA04"}.mdi-minidisc:before{content:"\FA05"}.mdi-minus:before{content:"\F374"}.mdi-minus-box:before{content:"\F375"}.mdi-minus-box-multiple:before{content:"\F016C"}.mdi-minus-box-multiple-outline:before{content:"\F016D"}.mdi-minus-box-outline:before{content:"\F6F1"}.mdi-minus-circle:before{content:"\F376"}.mdi-minus-circle-outline:before{content:"\F377"}.mdi-minus-network:before{content:"\F378"}.mdi-minus-network-outline:before{content:"\FC76"}.mdi-mirror:before{content:"\F0228"}.mdi-mixcloud:before{content:"\F62A"}.mdi-mixed-martial-arts:before{content:"\FD6B"}.mdi-mixed-reality:before{content:"\F87E"}.mdi-mixer:before{content:"\F7DC"}.mdi-molecule:before{content:"\FB88"}.mdi-monitor:before{content:"\F379"}.mdi-monitor-cellphone:before{content:"\F988"}.mdi-monitor-cellphone-star:before{content:"\F989"}.mdi-monitor-clean:before{content:"\F012F"}.mdi-monitor-dashboard:before{content:"\FA06"}.mdi-monitor-edit:before{content:"\F02F1"}.mdi-monitor-lock:before{content:"\FDB7"}.mdi-monitor-multiple:before{content:"\F37A"}.mdi-monitor-off:before{content:"\FD6C"}.mdi-monitor-screenshot:before{content:"\FE34"}.mdi-monitor-speaker:before{content:"\FF7C"}.mdi-monitor-speaker-off:before{content:"\FF7D"}.mdi-monitor-star:before{content:"\FDB8"}.mdi-moon-first-quarter:before{content:"\FF7E"}.mdi-moon-full:before{content:"\FF7F"}.mdi-moon-last-quarter:before{content:"\FF80"}.mdi-moon-new:before{content:"\FF81"}.mdi-moon-waning-crescent:before{content:"\FF82"}.mdi-moon-waning-gibbous:before{content:"\FF83"}.mdi-moon-waxing-crescent:before{content:"\FF84"}.mdi-moon-waxing-gibbous:before{content:"\FF85"}.mdi-moped:before{content:"\F00B1"}.mdi-more:before{content:"\F37B"}.mdi-mother-heart:before{content:"\F033F"}.mdi-mother-nurse:before{content:"\FCFD"}.mdi-motion-sensor:before{content:"\FD6D"}.mdi-motorbike:before{content:"\F37C"}.mdi-mouse:before{content:"\F37D"}.mdi-mouse-bluetooth:before{content:"\F98A"}.mdi-mouse-off:before{content:"\F37E"}.mdi-mouse-variant:before{content:"\F37F"}.mdi-mouse-variant-off:before{content:"\F380"}.mdi-move-resize:before{content:"\F655"}.mdi-move-resize-variant:before{content:"\F656"}.mdi-movie:before{content:"\F381"}.mdi-movie-edit:before{content:"\F014D"}.mdi-movie-edit-outline:before{content:"\F014E"}.mdi-movie-filter:before{content:"\F014F"}.mdi-movie-filter-outline:before{content:"\F0150"}.mdi-movie-open:before{content:"\FFEE"}.mdi-movie-open-outline:before{content:"\FFEF"}.mdi-movie-outline:before{content:"\FDB9"}.mdi-movie-roll:before{content:"\F7DD"}.mdi-movie-search:before{content:"\F01FD"}.mdi-movie-search-outline:before{content:"\F01FE"}.mdi-muffin:before{content:"\F98B"}.mdi-multiplication:before{content:"\F382"}.mdi-multiplication-box:before{content:"\F383"}.mdi-mushroom:before{content:"\F7DE"}.mdi-mushroom-outline:before{content:"\F7DF"}.mdi-music:before{content:"\F759"}.mdi-music-accidental-double-flat:before{content:"\FF86"}.mdi-music-accidental-double-sharp:before{content:"\FF87"}.mdi-music-accidental-flat:before{content:"\FF88"}.mdi-music-accidental-natural:before{content:"\FF89"}.mdi-music-accidental-sharp:before{content:"\FF8A"}.mdi-music-box:before{content:"\F384"}.mdi-music-box-outline:before{content:"\F385"}.mdi-music-circle:before{content:"\F386"}.mdi-music-circle-outline:before{content:"\FAD3"}.mdi-music-clef-alto:before{content:"\FF8B"}.mdi-music-clef-bass:before{content:"\FF8C"}.mdi-music-clef-treble:before{content:"\FF8D"}.mdi-music-note:before{content:"\F387"}.mdi-music-note-bluetooth:before{content:"\F5FE"}.mdi-music-note-bluetooth-off:before{content:"\F5FF"}.mdi-music-note-eighth:before{content:"\F388"}.mdi-music-note-eighth-dotted:before{content:"\FF8E"}.mdi-music-note-half:before{content:"\F389"}.mdi-music-note-half-dotted:before{content:"\FF8F"}.mdi-music-note-off:before{content:"\F38A"}.mdi-music-note-off-outline:before{content:"\FF90"}.mdi-music-note-outline:before{content:"\FF91"}.mdi-music-note-plus:before{content:"\FDBA"}.mdi-music-note-quarter:before{content:"\F38B"}.mdi-music-note-quarter-dotted:before{content:"\FF92"}.mdi-music-note-sixteenth:before{content:"\F38C"}.mdi-music-note-sixteenth-dotted:before{content:"\FF93"}.mdi-music-note-whole:before{content:"\F38D"}.mdi-music-note-whole-dotted:before{content:"\FF94"}.mdi-music-off:before{content:"\F75A"}.mdi-music-rest-eighth:before{content:"\FF95"}.mdi-music-rest-half:before{content:"\FF96"}.mdi-music-rest-quarter:before{content:"\FF97"}.mdi-music-rest-sixteenth:before{content:"\FF98"}.mdi-music-rest-whole:before{content:"\FF99"}.mdi-nail:before{content:"\FDBB"}.mdi-nas:before{content:"\F8F2"}.mdi-nativescript:before{content:"\F87F"}.mdi-nature:before{content:"\F38E"}.mdi-nature-people:before{content:"\F38F"}.mdi-navigation:before{content:"\F390"}.mdi-near-me:before{content:"\F5CD"}.mdi-necklace:before{content:"\FF28"}.mdi-needle:before{content:"\F391"}.mdi-netflix:before{content:"\F745"}.mdi-network:before{content:"\F6F2"}.mdi-network-off:before{content:"\FC77"}.mdi-network-off-outline:before{content:"\FC78"}.mdi-network-outline:before{content:"\FC79"}.mdi-network-router:before{content:"\F00B2"}.mdi-network-strength-1:before{content:"\F8F3"}.mdi-network-strength-1-alert:before{content:"\F8F4"}.mdi-network-strength-2:before{content:"\F8F5"}.mdi-network-strength-2-alert:before{content:"\F8F6"}.mdi-network-strength-3:before{content:"\F8F7"}.mdi-network-strength-3-alert:before{content:"\F8F8"}.mdi-network-strength-4:before{content:"\F8F9"}.mdi-network-strength-4-alert:before{content:"\F8FA"}.mdi-network-strength-off:before{content:"\F8FB"}.mdi-network-strength-off-outline:before{content:"\F8FC"}.mdi-network-strength-outline:before{content:"\F8FD"}.mdi-new-box:before{content:"\F394"}.mdi-newspaper:before{content:"\F395"}.mdi-newspaper-minus:before{content:"\FF29"}.mdi-newspaper-plus:before{content:"\FF2A"}.mdi-newspaper-variant:before{content:"\F0023"}.mdi-newspaper-variant-multiple:before{content:"\F0024"}.mdi-newspaper-variant-multiple-outline:before{content:"\F0025"}.mdi-newspaper-variant-outline:before{content:"\F0026"}.mdi-nfc:before{content:"\F396"}.mdi-nfc-off:before{content:"\FE35"}.mdi-nfc-search-variant:before{content:"\FE36"}.mdi-nfc-tap:before{content:"\F397"}.mdi-nfc-variant:before{content:"\F398"}.mdi-nfc-variant-off:before{content:"\FE37"}.mdi-ninja:before{content:"\F773"}.mdi-nintendo-switch:before{content:"\F7E0"}.mdi-nix:before{content:"\F0130"}.mdi-nodejs:before{content:"\F399"}.mdi-noodles:before{content:"\F01A9"}.mdi-not-equal:before{content:"\F98C"}.mdi-not-equal-variant:before{content:"\F98D"}.mdi-note:before{content:"\F39A"}.mdi-note-multiple:before{content:"\F6B7"}.mdi-note-multiple-outline:before{content:"\F6B8"}.mdi-note-outline:before{content:"\F39B"}.mdi-note-plus:before{content:"\F39C"}.mdi-note-plus-outline:before{content:"\F39D"}.mdi-note-text:before{content:"\F39E"}.mdi-note-text-outline:before{content:"\F0202"}.mdi-notebook:before{content:"\F82D"}.mdi-notebook-multiple:before{content:"\FE38"}.mdi-notebook-outline:before{content:"\FEDC"}.mdi-notification-clear-all:before{content:"\F39F"}.mdi-npm:before{content:"\F6F6"}.mdi-npm-variant:before{content:"\F98E"}.mdi-npm-variant-outline:before{content:"\F98F"}.mdi-nuke:before{content:"\F6A3"}.mdi-null:before{content:"\F7E1"}.mdi-numeric:before{content:"\F3A0"}.mdi-numeric-0:before{content:"\30"}.mdi-numeric-0-box:before{content:"\F3A1"}.mdi-numeric-0-box-multiple:before{content:"\FF2B"}.mdi-numeric-0-box-multiple-outline:before{content:"\F3A2"}.mdi-numeric-0-box-outline:before{content:"\F3A3"}.mdi-numeric-0-circle:before{content:"\FC7A"}.mdi-numeric-0-circle-outline:before{content:"\FC7B"}.mdi-numeric-1:before{content:"\31"}.mdi-numeric-1-box:before{content:"\F3A4"}.mdi-numeric-1-box-multiple:before{content:"\FF2C"}.mdi-numeric-1-box-multiple-outline:before{content:"\F3A5"}.mdi-numeric-1-box-outline:before{content:"\F3A6"}.mdi-numeric-1-circle:before{content:"\FC7C"}.mdi-numeric-1-circle-outline:before{content:"\FC7D"}.mdi-numeric-10:before{content:"\F000A"}.mdi-numeric-10-box:before{content:"\FF9A"}.mdi-numeric-10-box-multiple:before{content:"\F000B"}.mdi-numeric-10-box-multiple-outline:before{content:"\F000C"}.mdi-numeric-10-box-outline:before{content:"\FF9B"}.mdi-numeric-10-circle:before{content:"\F000D"}.mdi-numeric-10-circle-outline:before{content:"\F000E"}.mdi-numeric-2:before{content:"\32"}.mdi-numeric-2-box:before{content:"\F3A7"}.mdi-numeric-2-box-multiple:before{content:"\FF2D"}.mdi-numeric-2-box-multiple-outline:before{content:"\F3A8"}.mdi-numeric-2-box-outline:before{content:"\F3A9"}.mdi-numeric-2-circle:before{content:"\FC7E"}.mdi-numeric-2-circle-outline:before{content:"\FC7F"}.mdi-numeric-3:before{content:"\33"}.mdi-numeric-3-box:before{content:"\F3AA"}.mdi-numeric-3-box-multiple:before{content:"\FF2E"}.mdi-numeric-3-box-multiple-outline:before{content:"\F3AB"}.mdi-numeric-3-box-outline:before{content:"\F3AC"}.mdi-numeric-3-circle:before{content:"\FC80"}.mdi-numeric-3-circle-outline:before{content:"\FC81"}.mdi-numeric-4:before{content:"\34"}.mdi-numeric-4-box:before{content:"\F3AD"}.mdi-numeric-4-box-multiple:before{content:"\FF2F"}.mdi-numeric-4-box-multiple-outline:before{content:"\F3AE"}.mdi-numeric-4-box-outline:before{content:"\F3AF"}.mdi-numeric-4-circle:before{content:"\FC82"}.mdi-numeric-4-circle-outline:before{content:"\FC83"}.mdi-numeric-5:before{content:"\35"}.mdi-numeric-5-box:before{content:"\F3B0"}.mdi-numeric-5-box-multiple:before{content:"\FF30"}.mdi-numeric-5-box-multiple-outline:before{content:"\F3B1"}.mdi-numeric-5-box-outline:before{content:"\F3B2"}.mdi-numeric-5-circle:before{content:"\FC84"}.mdi-numeric-5-circle-outline:before{content:"\FC85"}.mdi-numeric-6:before{content:"\36"}.mdi-numeric-6-box:before{content:"\F3B3"}.mdi-numeric-6-box-multiple:before{content:"\FF31"}.mdi-numeric-6-box-multiple-outline:before{content:"\F3B4"}.mdi-numeric-6-box-outline:before{content:"\F3B5"}.mdi-numeric-6-circle:before{content:"\FC86"}.mdi-numeric-6-circle-outline:before{content:"\FC87"}.mdi-numeric-7:before{content:"\37"}.mdi-numeric-7-box:before{content:"\F3B6"}.mdi-numeric-7-box-multiple:before{content:"\FF32"}.mdi-numeric-7-box-multiple-outline:before{content:"\F3B7"}.mdi-numeric-7-box-outline:before{content:"\F3B8"}.mdi-numeric-7-circle:before{content:"\FC88"}.mdi-numeric-7-circle-outline:before{content:"\FC89"}.mdi-numeric-8:before{content:"\38"}.mdi-numeric-8-box:before{content:"\F3B9"}.mdi-numeric-8-box-multiple:before{content:"\FF33"}.mdi-numeric-8-box-multiple-outline:before{content:"\F3BA"}.mdi-numeric-8-box-outline:before{content:"\F3BB"}.mdi-numeric-8-circle:before{content:"\FC8A"}.mdi-numeric-8-circle-outline:before{content:"\FC8B"}.mdi-numeric-9:before{content:"\39"}.mdi-numeric-9-box:before{content:"\F3BC"}.mdi-numeric-9-box-multiple:before{content:"\FF34"}.mdi-numeric-9-box-multiple-outline:before{content:"\F3BD"}.mdi-numeric-9-box-outline:before{content:"\F3BE"}.mdi-numeric-9-circle:before{content:"\FC8C"}.mdi-numeric-9-circle-outline:before{content:"\FC8D"}.mdi-numeric-9-plus:before{content:"\F000F"}.mdi-numeric-9-plus-box:before{content:"\F3BF"}.mdi-numeric-9-plus-box-multiple:before{content:"\FF35"}.mdi-numeric-9-plus-box-multiple-outline:before{content:"\F3C0"}.mdi-numeric-9-plus-box-outline:before{content:"\F3C1"}.mdi-numeric-9-plus-circle:before{content:"\FC8E"}.mdi-numeric-9-plus-circle-outline:before{content:"\FC8F"}.mdi-numeric-negative-1:before{content:"\F0074"}.mdi-nut:before{content:"\F6F7"}.mdi-nutrition:before{content:"\F3C2"}.mdi-nuxt:before{content:"\F0131"}.mdi-oar:before{content:"\F67B"}.mdi-ocarina:before{content:"\FDBC"}.mdi-oci:before{content:"\F0314"}.mdi-ocr:before{content:"\F0165"}.mdi-octagon:before{content:"\F3C3"}.mdi-octagon-outline:before{content:"\F3C4"}.mdi-octagram:before{content:"\F6F8"}.mdi-octagram-outline:before{content:"\F774"}.mdi-odnoklassniki:before{content:"\F3C5"}.mdi-offer:before{content:"\F0246"}.mdi-office:before{content:"\F3C6"}.mdi-office-building:before{content:"\F990"}.mdi-oil:before{content:"\F3C7"}.mdi-oil-lamp:before{content:"\FF36"}.mdi-oil-level:before{content:"\F0075"}.mdi-oil-temperature:before{content:"\F0019"}.mdi-omega:before{content:"\F3C9"}.mdi-one-up:before{content:"\FB89"}.mdi-onedrive:before{content:"\F3CA"}.mdi-onenote:before{content:"\F746"}.mdi-onepassword:before{content:"\F880"}.mdi-opacity:before{content:"\F5CC"}.mdi-open-in-app:before{content:"\F3CB"}.mdi-open-in-new:before{content:"\F3CC"}.mdi-open-source-initiative:before{content:"\FB8A"}.mdi-openid:before{content:"\F3CD"}.mdi-opera:before{content:"\F3CE"}.mdi-orbit:before{content:"\F018"}.mdi-origin:before{content:"\FB2B"}.mdi-ornament:before{content:"\F3CF"}.mdi-ornament-variant:before{content:"\F3D0"}.mdi-outdoor-lamp:before{content:"\F0076"}.mdi-outlook:before{content:"\FCFE"}.mdi-overscan:before{content:"\F0027"}.mdi-owl:before{content:"\F3D2"}.mdi-pac-man:before{content:"\FB8B"}.mdi-package:before{content:"\F3D3"}.mdi-package-down:before{content:"\F3D4"}.mdi-package-up:before{content:"\F3D5"}.mdi-package-variant:before{content:"\F3D6"}.mdi-package-variant-closed:before{content:"\F3D7"}.mdi-page-first:before{content:"\F600"}.mdi-page-last:before{content:"\F601"}.mdi-page-layout-body:before{content:"\F6F9"}.mdi-page-layout-footer:before{content:"\F6FA"}.mdi-page-layout-header:before{content:"\F6FB"}.mdi-page-layout-header-footer:before{content:"\FF9C"}.mdi-page-layout-sidebar-left:before{content:"\F6FC"}.mdi-page-layout-sidebar-right:before{content:"\F6FD"}.mdi-page-next:before{content:"\FB8C"}.mdi-page-next-outline:before{content:"\FB8D"}.mdi-page-previous:before{content:"\FB8E"}.mdi-page-previous-outline:before{content:"\FB8F"}.mdi-palette:before{content:"\F3D8"}.mdi-palette-advanced:before{content:"\F3D9"}.mdi-palette-outline:before{content:"\FE6C"}.mdi-palette-swatch:before{content:"\F8B4"}.mdi-palette-swatch-outline:before{content:"\F0387"}.mdi-palm-tree:before{content:"\F0077"}.mdi-pan:before{content:"\FB90"}.mdi-pan-bottom-left:before{content:"\FB91"}.mdi-pan-bottom-right:before{content:"\FB92"}.mdi-pan-down:before{content:"\FB93"}.mdi-pan-horizontal:before{content:"\FB94"}.mdi-pan-left:before{content:"\FB95"}.mdi-pan-right:before{content:"\FB96"}.mdi-pan-top-left:before{content:"\FB97"}.mdi-pan-top-right:before{content:"\FB98"}.mdi-pan-up:before{content:"\FB99"}.mdi-pan-vertical:before{content:"\FB9A"}.mdi-panda:before{content:"\F3DA"}.mdi-pandora:before{content:"\F3DB"}.mdi-panorama:before{content:"\F3DC"}.mdi-panorama-fisheye:before{content:"\F3DD"}.mdi-panorama-horizontal:before{content:"\F3DE"}.mdi-panorama-vertical:before{content:"\F3DF"}.mdi-panorama-wide-angle:before{content:"\F3E0"}.mdi-paper-cut-vertical:before{content:"\F3E1"}.mdi-paper-roll:before{content:"\F0182"}.mdi-paper-roll-outline:before{content:"\F0183"}.mdi-paperclip:before{content:"\F3E2"}.mdi-parachute:before{content:"\FC90"}.mdi-parachute-outline:before{content:"\FC91"}.mdi-parking:before{content:"\F3E3"}.mdi-party-popper:before{content:"\F0078"}.mdi-passport:before{content:"\F7E2"}.mdi-passport-biometric:before{content:"\FDBD"}.mdi-pasta:before{content:"\F018B"}.mdi-patio-heater:before{content:"\FF9D"}.mdi-patreon:before{content:"\F881"}.mdi-pause:before{content:"\F3E4"}.mdi-pause-circle:before{content:"\F3E5"}.mdi-pause-circle-outline:before{content:"\F3E6"}.mdi-pause-octagon:before{content:"\F3E7"}.mdi-pause-octagon-outline:before{content:"\F3E8"}.mdi-paw:before{content:"\F3E9"}.mdi-paw-off:before{content:"\F657"}.mdi-paypal:before{content:"\F882"}.mdi-pdf-box:before{content:"\FE39"}.mdi-peace:before{content:"\F883"}.mdi-peanut:before{content:"\F001E"}.mdi-peanut-off:before{content:"\F001F"}.mdi-peanut-off-outline:before{content:"\F0021"}.mdi-peanut-outline:before{content:"\F0020"}.mdi-pen:before{content:"\F3EA"}.mdi-pen-lock:before{content:"\FDBE"}.mdi-pen-minus:before{content:"\FDBF"}.mdi-pen-off:before{content:"\FDC0"}.mdi-pen-plus:before{content:"\FDC1"}.mdi-pen-remove:before{content:"\FDC2"}.mdi-pencil:before{content:"\F3EB"}.mdi-pencil-box:before{content:"\F3EC"}.mdi-pencil-box-multiple:before{content:"\F016F"}.mdi-pencil-box-multiple-outline:before{content:"\F0170"}.mdi-pencil-box-outline:before{content:"\F3ED"}.mdi-pencil-circle:before{content:"\F6FE"}.mdi-pencil-circle-outline:before{content:"\F775"}.mdi-pencil-lock:before{content:"\F3EE"}.mdi-pencil-lock-outline:before{content:"\FDC3"}.mdi-pencil-minus:before{content:"\FDC4"}.mdi-pencil-minus-outline:before{content:"\FDC5"}.mdi-pencil-off:before{content:"\F3EF"}.mdi-pencil-off-outline:before{content:"\FDC6"}.mdi-pencil-outline:before{content:"\FC92"}.mdi-pencil-plus:before{content:"\FDC7"}.mdi-pencil-plus-outline:before{content:"\FDC8"}.mdi-pencil-remove:before{content:"\FDC9"}.mdi-pencil-remove-outline:before{content:"\FDCA"}.mdi-pencil-ruler:before{content:"\F037E"}.mdi-penguin:before{content:"\FEDD"}.mdi-pentagon:before{content:"\F6FF"}.mdi-pentagon-outline:before{content:"\F700"}.mdi-percent:before{content:"\F3F0"}.mdi-percent-outline:before{content:"\F02A3"}.mdi-periodic-table:before{content:"\F8B5"}.mdi-periodic-table-co:before{content:"\F0329"}.mdi-periodic-table-co2:before{content:"\F7E3"}.mdi-periscope:before{content:"\F747"}.mdi-perspective-less:before{content:"\FCFF"}.mdi-perspective-more:before{content:"\FD00"}.mdi-pharmacy:before{content:"\F3F1"}.mdi-phone:before{content:"\F3F2"}.mdi-phone-alert:before{content:"\FF37"}.mdi-phone-alert-outline:before{content:"\F01B9"}.mdi-phone-bluetooth:before{content:"\F3F3"}.mdi-phone-bluetooth-outline:before{content:"\F01BA"}.mdi-phone-cancel:before{content:"\F00E7"}.mdi-phone-cancel-outline:before{content:"\F01BB"}.mdi-phone-check:before{content:"\F01D4"}.mdi-phone-check-outline:before{content:"\F01D5"}.mdi-phone-classic:before{content:"\F602"}.mdi-phone-classic-off:before{content:"\F02A4"}.mdi-phone-forward:before{content:"\F3F4"}.mdi-phone-forward-outline:before{content:"\F01BC"}.mdi-phone-hangup:before{content:"\F3F5"}.mdi-phone-hangup-outline:before{content:"\F01BD"}.mdi-phone-in-talk:before{content:"\F3F6"}.mdi-phone-in-talk-outline:before{content:"\F01AD"}.mdi-phone-incoming:before{content:"\F3F7"}.mdi-phone-incoming-outline:before{content:"\F01BE"}.mdi-phone-lock:before{content:"\F3F8"}.mdi-phone-lock-outline:before{content:"\F01BF"}.mdi-phone-log:before{content:"\F3F9"}.mdi-phone-log-outline:before{content:"\F01C0"}.mdi-phone-message:before{content:"\F01C1"}.mdi-phone-message-outline:before{content:"\F01C2"}.mdi-phone-minus:before{content:"\F658"}.mdi-phone-minus-outline:before{content:"\F01C3"}.mdi-phone-missed:before{content:"\F3FA"}.mdi-phone-missed-outline:before{content:"\F01D0"}.mdi-phone-off:before{content:"\FDCB"}.mdi-phone-off-outline:before{content:"\F01D1"}.mdi-phone-outgoing:before{content:"\F3FB"}.mdi-phone-outgoing-outline:before{content:"\F01C4"}.mdi-phone-outline:before{content:"\FDCC"}.mdi-phone-paused:before{content:"\F3FC"}.mdi-phone-paused-outline:before{content:"\F01C5"}.mdi-phone-plus:before{content:"\F659"}.mdi-phone-plus-outline:before{content:"\F01C6"}.mdi-phone-return:before{content:"\F82E"}.mdi-phone-return-outline:before{content:"\F01C7"}.mdi-phone-ring:before{content:"\F01D6"}.mdi-phone-ring-outline:before{content:"\F01D7"}.mdi-phone-rotate-landscape:before{content:"\F884"}.mdi-phone-rotate-portrait:before{content:"\F885"}.mdi-phone-settings:before{content:"\F3FD"}.mdi-phone-settings-outline:before{content:"\F01C8"}.mdi-phone-voip:before{content:"\F3FE"}.mdi-pi:before{content:"\F3FF"}.mdi-pi-box:before{content:"\F400"}.mdi-pi-hole:before{content:"\FDCD"}.mdi-piano:before{content:"\F67C"}.mdi-pickaxe:before{content:"\F8B6"}.mdi-picture-in-picture-bottom-right:before{content:"\FE3A"}.mdi-picture-in-picture-bottom-right-outline:before{content:"\FE3B"}.mdi-picture-in-picture-top-right:before{content:"\FE3C"}.mdi-picture-in-picture-top-right-outline:before{content:"\FE3D"}.mdi-pier:before{content:"\F886"}.mdi-pier-crane:before{content:"\F887"}.mdi-pig:before{content:"\F401"}.mdi-pig-variant:before{content:"\F0028"}.mdi-piggy-bank:before{content:"\F0029"}.mdi-pill:before{content:"\F402"}.mdi-pillar:before{content:"\F701"}.mdi-pin:before{content:"\F403"}.mdi-pin-off:before{content:"\F404"}.mdi-pin-off-outline:before{content:"\F92F"}.mdi-pin-outline:before{content:"\F930"}.mdi-pine-tree:before{content:"\F405"}.mdi-pine-tree-box:before{content:"\F406"}.mdi-pinterest:before{content:"\F407"}.mdi-pinterest-box:before{content:"\F408"}.mdi-pinwheel:before{content:"\FAD4"}.mdi-pinwheel-outline:before{content:"\FAD5"}.mdi-pipe:before{content:"\F7E4"}.mdi-pipe-disconnected:before{content:"\F7E5"}.mdi-pipe-leak:before{content:"\F888"}.mdi-pipe-wrench:before{content:"\F037F"}.mdi-pirate:before{content:"\FA07"}.mdi-pistol:before{content:"\F702"}.mdi-piston:before{content:"\F889"}.mdi-pizza:before{content:"\F409"}.mdi-play:before{content:"\F40A"}.mdi-play-box:before{content:"\F02A5"}.mdi-play-box-outline:before{content:"\F40B"}.mdi-play-circle:before{content:"\F40C"}.mdi-play-circle-outline:before{content:"\F40D"}.mdi-play-network:before{content:"\F88A"}.mdi-play-network-outline:before{content:"\FC93"}.mdi-play-outline:before{content:"\FF38"}.mdi-play-pause:before{content:"\F40E"}.mdi-play-protected-content:before{content:"\F40F"}.mdi-play-speed:before{content:"\F8FE"}.mdi-playlist-check:before{content:"\F5C7"}.mdi-playlist-edit:before{content:"\F8FF"}.mdi-playlist-minus:before{content:"\F410"}.mdi-playlist-music:before{content:"\FC94"}.mdi-playlist-music-outline:before{content:"\FC95"}.mdi-playlist-play:before{content:"\F411"}.mdi-playlist-plus:before{content:"\F412"}.mdi-playlist-remove:before{content:"\F413"}.mdi-playlist-star:before{content:"\FDCE"}.mdi-playstation:before{content:"\F414"}.mdi-plex:before{content:"\F6B9"}.mdi-plus:before{content:"\F415"}.mdi-plus-box:before{content:"\F416"}.mdi-plus-box-multiple:before{content:"\F334"}.mdi-plus-box-multiple-outline:before{content:"\F016E"}.mdi-plus-box-outline:before{content:"\F703"}.mdi-plus-circle:before{content:"\F417"}.mdi-plus-circle-multiple-outline:before{content:"\F418"}.mdi-plus-circle-outline:before{content:"\F419"}.mdi-plus-minus:before{content:"\F991"}.mdi-plus-minus-box:before{content:"\F992"}.mdi-plus-network:before{content:"\F41A"}.mdi-plus-network-outline:before{content:"\FC96"}.mdi-plus-one:before{content:"\F41B"}.mdi-plus-outline:before{content:"\F704"}.mdi-plus-thick:before{content:"\F0217"}.mdi-pocket:before{content:"\F41C"}.mdi-podcast:before{content:"\F993"}.mdi-podium:before{content:"\FD01"}.mdi-podium-bronze:before{content:"\FD02"}.mdi-podium-gold:before{content:"\FD03"}.mdi-podium-silver:before{content:"\FD04"}.mdi-point-of-sale:before{content:"\FD6E"}.mdi-pokeball:before{content:"\F41D"}.mdi-pokemon-go:before{content:"\FA08"}.mdi-poker-chip:before{content:"\F82F"}.mdi-polaroid:before{content:"\F41E"}.mdi-police-badge:before{content:"\F0192"}.mdi-police-badge-outline:before{content:"\F0193"}.mdi-poll:before{content:"\F41F"}.mdi-poll-box:before{content:"\F420"}.mdi-poll-box-outline:before{content:"\F02A6"}.mdi-polymer:before{content:"\F421"}.mdi-pool:before{content:"\F606"}.mdi-popcorn:before{content:"\F422"}.mdi-post:before{content:"\F002A"}.mdi-post-outline:before{content:"\F002B"}.mdi-postage-stamp:before{content:"\FC97"}.mdi-pot:before{content:"\F65A"}.mdi-pot-mix:before{content:"\F65B"}.mdi-pound:before{content:"\F423"}.mdi-pound-box:before{content:"\F424"}.mdi-pound-box-outline:before{content:"\F01AA"}.mdi-power:before{content:"\F425"}.mdi-power-cycle:before{content:"\F900"}.mdi-power-off:before{content:"\F901"}.mdi-power-on:before{content:"\F902"}.mdi-power-plug:before{content:"\F6A4"}.mdi-power-plug-off:before{content:"\F6A5"}.mdi-power-settings:before{content:"\F426"}.mdi-power-sleep:before{content:"\F903"}.mdi-power-socket:before{content:"\F427"}.mdi-power-socket-au:before{content:"\F904"}.mdi-power-socket-de:before{content:"\F0132"}.mdi-power-socket-eu:before{content:"\F7E6"}.mdi-power-socket-fr:before{content:"\F0133"}.mdi-power-socket-jp:before{content:"\F0134"}.mdi-power-socket-uk:before{content:"\F7E7"}.mdi-power-socket-us:before{content:"\F7E8"}.mdi-power-standby:before{content:"\F905"}.mdi-powershell:before{content:"\FA09"}.mdi-prescription:before{content:"\F705"}.mdi-presentation:before{content:"\F428"}.mdi-presentation-play:before{content:"\F429"}.mdi-printer:before{content:"\F42A"}.mdi-printer-3d:before{content:"\F42B"}.mdi-printer-3d-nozzle:before{content:"\FE3E"}.mdi-printer-3d-nozzle-alert:before{content:"\F01EB"}.mdi-printer-3d-nozzle-alert-outline:before{content:"\F01EC"}.mdi-printer-3d-nozzle-outline:before{content:"\FE3F"}.mdi-printer-alert:before{content:"\F42C"}.mdi-printer-check:before{content:"\F0171"}.mdi-printer-off:before{content:"\FE40"}.mdi-printer-pos:before{content:"\F0079"}.mdi-printer-settings:before{content:"\F706"}.mdi-printer-wireless:before{content:"\FA0A"}.mdi-priority-high:before{content:"\F603"}.mdi-priority-low:before{content:"\F604"}.mdi-professional-hexagon:before{content:"\F42D"}.mdi-progress-alert:before{content:"\FC98"}.mdi-progress-check:before{content:"\F994"}.mdi-progress-clock:before{content:"\F995"}.mdi-progress-close:before{content:"\F0135"}.mdi-progress-download:before{content:"\F996"}.mdi-progress-upload:before{content:"\F997"}.mdi-progress-wrench:before{content:"\FC99"}.mdi-projector:before{content:"\F42E"}.mdi-projector-screen:before{content:"\F42F"}.mdi-propane-tank:before{content:"\F0382"}.mdi-propane-tank-outline:before{content:"\F0383"}.mdi-protocol:before{content:"\FFF9"}.mdi-publish:before{content:"\F6A6"}.mdi-pulse:before{content:"\F430"}.mdi-pumpkin:before{content:"\FB9B"}.mdi-purse:before{content:"\FF39"}.mdi-purse-outline:before{content:"\FF3A"}.mdi-puzzle:before{content:"\F431"}.mdi-puzzle-outline:before{content:"\FA65"}.mdi-qi:before{content:"\F998"}.mdi-qqchat:before{content:"\F605"}.mdi-qrcode:before{content:"\F432"}.mdi-qrcode-edit:before{content:"\F8B7"}.mdi-qrcode-minus:before{content:"\F01B7"}.mdi-qrcode-plus:before{content:"\F01B6"}.mdi-qrcode-remove:before{content:"\F01B8"}.mdi-qrcode-scan:before{content:"\F433"}.mdi-quadcopter:before{content:"\F434"}.mdi-quality-high:before{content:"\F435"}.mdi-quality-low:before{content:"\FA0B"}.mdi-quality-medium:before{content:"\FA0C"}.mdi-quicktime:before{content:"\F436"}.mdi-quora:before{content:"\FD05"}.mdi-rabbit:before{content:"\F906"}.mdi-racing-helmet:before{content:"\FD6F"}.mdi-racquetball:before{content:"\FD70"}.mdi-radar:before{content:"\F437"}.mdi-radiator:before{content:"\F438"}.mdi-radiator-disabled:before{content:"\FAD6"}.mdi-radiator-off:before{content:"\FAD7"}.mdi-radio:before{content:"\F439"}.mdi-radio-am:before{content:"\FC9A"}.mdi-radio-fm:before{content:"\FC9B"}.mdi-radio-handheld:before{content:"\F43A"}.mdi-radio-off:before{content:"\F0247"}.mdi-radio-tower:before{content:"\F43B"}.mdi-radioactive:before{content:"\F43C"}.mdi-radioactive-off:before{content:"\FEDE"}.mdi-radiobox-blank:before{content:"\F43D"}.mdi-radiobox-marked:before{content:"\F43E"}.mdi-radius:before{content:"\FC9C"}.mdi-radius-outline:before{content:"\FC9D"}.mdi-railroad-light:before{content:"\FF3B"}.mdi-raspberry-pi:before{content:"\F43F"}.mdi-ray-end:before{content:"\F440"}.mdi-ray-end-arrow:before{content:"\F441"}.mdi-ray-start:before{content:"\F442"}.mdi-ray-start-arrow:before{content:"\F443"}.mdi-ray-start-end:before{content:"\F444"}.mdi-ray-vertex:before{content:"\F445"}.mdi-react:before{content:"\F707"}.mdi-read:before{content:"\F447"}.mdi-receipt:before{content:"\F449"}.mdi-record:before{content:"\F44A"}.mdi-record-circle:before{content:"\FEDF"}.mdi-record-circle-outline:before{content:"\FEE0"}.mdi-record-player:before{content:"\F999"}.mdi-record-rec:before{content:"\F44B"}.mdi-rectangle:before{content:"\FE41"}.mdi-rectangle-outline:before{content:"\FE42"}.mdi-recycle:before{content:"\F44C"}.mdi-reddit:before{content:"\F44D"}.mdi-redhat:before{content:"\F0146"}.mdi-redo:before{content:"\F44E"}.mdi-redo-variant:before{content:"\F44F"}.mdi-reflect-horizontal:before{content:"\FA0D"}.mdi-reflect-vertical:before{content:"\FA0E"}.mdi-refresh:before{content:"\F450"}.mdi-refresh-circle:before{content:"\F03A2"}.mdi-regex:before{content:"\F451"}.mdi-registered-trademark:before{content:"\FA66"}.mdi-relative-scale:before{content:"\F452"}.mdi-reload:before{content:"\F453"}.mdi-reload-alert:before{content:"\F0136"}.mdi-reminder:before{content:"\F88B"}.mdi-remote:before{content:"\F454"}.mdi-remote-desktop:before{content:"\F8B8"}.mdi-remote-off:before{content:"\FEE1"}.mdi-remote-tv:before{content:"\FEE2"}.mdi-remote-tv-off:before{content:"\FEE3"}.mdi-rename-box:before{content:"\F455"}.mdi-reorder-horizontal:before{content:"\F687"}.mdi-reorder-vertical:before{content:"\F688"}.mdi-repeat:before{content:"\F456"}.mdi-repeat-off:before{content:"\F457"}.mdi-repeat-once:before{content:"\F458"}.mdi-replay:before{content:"\F459"}.mdi-reply:before{content:"\F45A"}.mdi-reply-all:before{content:"\F45B"}.mdi-reply-all-outline:before{content:"\FF3C"}.mdi-reply-circle:before{content:"\F01D9"}.mdi-reply-outline:before{content:"\FF3D"}.mdi-reproduction:before{content:"\F45C"}.mdi-resistor:before{content:"\FB1F"}.mdi-resistor-nodes:before{content:"\FB20"}.mdi-resize:before{content:"\FA67"}.mdi-resize-bottom-right:before{content:"\F45D"}.mdi-responsive:before{content:"\F45E"}.mdi-restart:before{content:"\F708"}.mdi-restart-alert:before{content:"\F0137"}.mdi-restart-off:before{content:"\FD71"}.mdi-restore:before{content:"\F99A"}.mdi-restore-alert:before{content:"\F0138"}.mdi-rewind:before{content:"\F45F"}.mdi-rewind-10:before{content:"\FD06"}.mdi-rewind-30:before{content:"\FD72"}.mdi-rewind-5:before{content:"\F0224"}.mdi-rewind-outline:before{content:"\F709"}.mdi-rhombus:before{content:"\F70A"}.mdi-rhombus-medium:before{content:"\FA0F"}.mdi-rhombus-outline:before{content:"\F70B"}.mdi-rhombus-split:before{content:"\FA10"}.mdi-ribbon:before{content:"\F460"}.mdi-rice:before{content:"\F7E9"}.mdi-ring:before{content:"\F7EA"}.mdi-rivet:before{content:"\FE43"}.mdi-road:before{content:"\F461"}.mdi-road-variant:before{content:"\F462"}.mdi-robber:before{content:"\F007A"}.mdi-robot:before{content:"\F6A8"}.mdi-robot-industrial:before{content:"\FB21"}.mdi-robot-mower:before{content:"\F0222"}.mdi-robot-mower-outline:before{content:"\F021E"}.mdi-robot-vacuum:before{content:"\F70C"}.mdi-robot-vacuum-variant:before{content:"\F907"}.mdi-rocket:before{content:"\F463"}.mdi-rodent:before{content:"\F0352"}.mdi-roller-skate:before{content:"\FD07"}.mdi-rollerblade:before{content:"\FD08"}.mdi-rollupjs:before{content:"\FB9C"}.mdi-roman-numeral-1:before{content:"\F00B3"}.mdi-roman-numeral-10:before{content:"\F00BC"}.mdi-roman-numeral-2:before{content:"\F00B4"}.mdi-roman-numeral-3:before{content:"\F00B5"}.mdi-roman-numeral-4:before{content:"\F00B6"}.mdi-roman-numeral-5:before{content:"\F00B7"}.mdi-roman-numeral-6:before{content:"\F00B8"}.mdi-roman-numeral-7:before{content:"\F00B9"}.mdi-roman-numeral-8:before{content:"\F00BA"}.mdi-roman-numeral-9:before{content:"\F00BB"}.mdi-room-service:before{content:"\F88C"}.mdi-room-service-outline:before{content:"\FD73"}.mdi-rotate-3d:before{content:"\FEE4"}.mdi-rotate-3d-variant:before{content:"\F464"}.mdi-rotate-left:before{content:"\F465"}.mdi-rotate-left-variant:before{content:"\F466"}.mdi-rotate-orbit:before{content:"\FD74"}.mdi-rotate-right:before{content:"\F467"}.mdi-rotate-right-variant:before{content:"\F468"}.mdi-rounded-corner:before{content:"\F607"}.mdi-router:before{content:"\F020D"}.mdi-router-wireless:before{content:"\F469"}.mdi-router-wireless-settings:before{content:"\FA68"}.mdi-routes:before{content:"\F46A"}.mdi-routes-clock:before{content:"\F007B"}.mdi-rowing:before{content:"\F608"}.mdi-rss:before{content:"\F46B"}.mdi-rss-box:before{content:"\F46C"}.mdi-rss-off:before{content:"\FF3E"}.mdi-ruby:before{content:"\FD09"}.mdi-rugby:before{content:"\FD75"}.mdi-ruler:before{content:"\F46D"}.mdi-ruler-square:before{content:"\FC9E"}.mdi-ruler-square-compass:before{content:"\FEDB"}.mdi-run:before{content:"\F70D"}.mdi-run-fast:before{content:"\F46E"}.mdi-rv-truck:before{content:"\F01FF"}.mdi-sack:before{content:"\FD0A"}.mdi-sack-percent:before{content:"\FD0B"}.mdi-safe:before{content:"\FA69"}.mdi-safe-square:before{content:"\F02A7"}.mdi-safe-square-outline:before{content:"\F02A8"}.mdi-safety-goggles:before{content:"\FD0C"}.mdi-sailing:before{content:"\FEE5"}.mdi-sale:before{content:"\F46F"}.mdi-salesforce:before{content:"\F88D"}.mdi-sass:before{content:"\F7EB"}.mdi-satellite:before{content:"\F470"}.mdi-satellite-uplink:before{content:"\F908"}.mdi-satellite-variant:before{content:"\F471"}.mdi-sausage:before{content:"\F8B9"}.mdi-saw-blade:before{content:"\FE44"}.mdi-saxophone:before{content:"\F609"}.mdi-scale:before{content:"\F472"}.mdi-scale-balance:before{content:"\F5D1"}.mdi-scale-bathroom:before{content:"\F473"}.mdi-scale-off:before{content:"\F007C"}.mdi-scanner:before{content:"\F6AA"}.mdi-scanner-off:before{content:"\F909"}.mdi-scatter-plot:before{content:"\FEE6"}.mdi-scatter-plot-outline:before{content:"\FEE7"}.mdi-school:before{content:"\F474"}.mdi-school-outline:before{content:"\F01AB"}.mdi-scissors-cutting:before{content:"\FA6A"}.mdi-scooter:before{content:"\F0214"}.mdi-scoreboard:before{content:"\F02A9"}.mdi-scoreboard-outline:before{content:"\F02AA"}.mdi-screen-rotation:before{content:"\F475"}.mdi-screen-rotation-lock:before{content:"\F476"}.mdi-screw-flat-top:before{content:"\FDCF"}.mdi-screw-lag:before{content:"\FE54"}.mdi-screw-machine-flat-top:before{content:"\FE55"}.mdi-screw-machine-round-top:before{content:"\FE56"}.mdi-screw-round-top:before{content:"\FE57"}.mdi-screwdriver:before{content:"\F477"}.mdi-script:before{content:"\FB9D"}.mdi-script-outline:before{content:"\F478"}.mdi-script-text:before{content:"\FB9E"}.mdi-script-text-outline:before{content:"\FB9F"}.mdi-sd:before{content:"\F479"}.mdi-seal:before{content:"\F47A"}.mdi-seal-variant:before{content:"\FFFA"}.mdi-search-web:before{content:"\F70E"}.mdi-seat:before{content:"\FC9F"}.mdi-seat-flat:before{content:"\F47B"}.mdi-seat-flat-angled:before{content:"\F47C"}.mdi-seat-individual-suite:before{content:"\F47D"}.mdi-seat-legroom-extra:before{content:"\F47E"}.mdi-seat-legroom-normal:before{content:"\F47F"}.mdi-seat-legroom-reduced:before{content:"\F480"}.mdi-seat-outline:before{content:"\FCA0"}.mdi-seat-passenger:before{content:"\F0274"}.mdi-seat-recline-extra:before{content:"\F481"}.mdi-seat-recline-normal:before{content:"\F482"}.mdi-seatbelt:before{content:"\FCA1"}.mdi-security:before{content:"\F483"}.mdi-security-network:before{content:"\F484"}.mdi-seed:before{content:"\FE45"}.mdi-seed-outline:before{content:"\FE46"}.mdi-segment:before{content:"\FEE8"}.mdi-select:before{content:"\F485"}.mdi-select-all:before{content:"\F486"}.mdi-select-color:before{content:"\FD0D"}.mdi-select-compare:before{content:"\FAD8"}.mdi-select-drag:before{content:"\FA6B"}.mdi-select-group:before{content:"\FF9F"}.mdi-select-inverse:before{content:"\F487"}.mdi-select-marker:before{content:"\F02AB"}.mdi-select-multiple:before{content:"\F02AC"}.mdi-select-multiple-marker:before{content:"\F02AD"}.mdi-select-off:before{content:"\F488"}.mdi-select-place:before{content:"\FFFB"}.mdi-select-search:before{content:"\F022F"}.mdi-selection:before{content:"\F489"}.mdi-selection-drag:before{content:"\FA6C"}.mdi-selection-ellipse:before{content:"\FD0E"}.mdi-selection-ellipse-arrow-inside:before{content:"\FF3F"}.mdi-selection-marker:before{content:"\F02AE"}.mdi-selection-multiple-marker:before{content:"\F02AF"}.mdi-selection-mutliple:before{content:"\F02B0"}.mdi-selection-off:before{content:"\F776"}.mdi-selection-search:before{content:"\F0230"}.mdi-semantic-web:before{content:"\F0341"}.mdi-send:before{content:"\F48A"}.mdi-send-check:before{content:"\F018C"}.mdi-send-check-outline:before{content:"\F018D"}.mdi-send-circle:before{content:"\FE58"}.mdi-send-circle-outline:before{content:"\FE59"}.mdi-send-clock:before{content:"\F018E"}.mdi-send-clock-outline:before{content:"\F018F"}.mdi-send-lock:before{content:"\F7EC"}.mdi-send-lock-outline:before{content:"\F0191"}.mdi-send-outline:before{content:"\F0190"}.mdi-serial-port:before{content:"\F65C"}.mdi-server:before{content:"\F48B"}.mdi-server-minus:before{content:"\F48C"}.mdi-server-network:before{content:"\F48D"}.mdi-server-network-off:before{content:"\F48E"}.mdi-server-off:before{content:"\F48F"}.mdi-server-plus:before{content:"\F490"}.mdi-server-remove:before{content:"\F491"}.mdi-server-security:before{content:"\F492"}.mdi-set-all:before{content:"\F777"}.mdi-set-center:before{content:"\F778"}.mdi-set-center-right:before{content:"\F779"}.mdi-set-left:before{content:"\F77A"}.mdi-set-left-center:before{content:"\F77B"}.mdi-set-left-right:before{content:"\F77C"}.mdi-set-none:before{content:"\F77D"}.mdi-set-right:before{content:"\F77E"}.mdi-set-top-box:before{content:"\F99E"}.mdi-settings:before{content:"\F493"}.mdi-settings-box:before{content:"\F494"}.mdi-settings-helper:before{content:"\FA6D"}.mdi-settings-outline:before{content:"\F8BA"}.mdi-settings-transfer:before{content:"\F007D"}.mdi-settings-transfer-outline:before{content:"\F007E"}.mdi-shaker:before{content:"\F0139"}.mdi-shaker-outline:before{content:"\F013A"}.mdi-shape:before{content:"\F830"}.mdi-shape-circle-plus:before{content:"\F65D"}.mdi-shape-outline:before{content:"\F831"}.mdi-shape-oval-plus:before{content:"\F0225"}.mdi-shape-plus:before{content:"\F495"}.mdi-shape-polygon-plus:before{content:"\F65E"}.mdi-shape-rectangle-plus:before{content:"\F65F"}.mdi-shape-square-plus:before{content:"\F660"}.mdi-share:before{content:"\F496"}.mdi-share-all:before{content:"\F021F"}.mdi-share-all-outline:before{content:"\F0220"}.mdi-share-circle:before{content:"\F01D8"}.mdi-share-off:before{content:"\FF40"}.mdi-share-off-outline:before{content:"\FF41"}.mdi-share-outline:before{content:"\F931"}.mdi-share-variant:before{content:"\F497"}.mdi-sheep:before{content:"\FCA2"}.mdi-shield:before{content:"\F498"}.mdi-shield-account:before{content:"\F88E"}.mdi-shield-account-outline:before{content:"\FA11"}.mdi-shield-airplane:before{content:"\F6BA"}.mdi-shield-airplane-outline:before{content:"\FCA3"}.mdi-shield-alert:before{content:"\FEE9"}.mdi-shield-alert-outline:before{content:"\FEEA"}.mdi-shield-car:before{content:"\FFA0"}.mdi-shield-check:before{content:"\F565"}.mdi-shield-check-outline:before{content:"\FCA4"}.mdi-shield-cross:before{content:"\FCA5"}.mdi-shield-cross-outline:before{content:"\FCA6"}.mdi-shield-edit:before{content:"\F01CB"}.mdi-shield-edit-outline:before{content:"\F01CC"}.mdi-shield-half:before{content:"\F038B"}.mdi-shield-half-full:before{content:"\F77F"}.mdi-shield-home:before{content:"\F689"}.mdi-shield-home-outline:before{content:"\FCA7"}.mdi-shield-key:before{content:"\FBA0"}.mdi-shield-key-outline:before{content:"\FBA1"}.mdi-shield-link-variant:before{content:"\FD0F"}.mdi-shield-link-variant-outline:before{content:"\FD10"}.mdi-shield-lock:before{content:"\F99C"}.mdi-shield-lock-outline:before{content:"\FCA8"}.mdi-shield-off:before{content:"\F99D"}.mdi-shield-off-outline:before{content:"\F99B"}.mdi-shield-outline:before{content:"\F499"}.mdi-shield-plus:before{content:"\FAD9"}.mdi-shield-plus-outline:before{content:"\FADA"}.mdi-shield-refresh:before{content:"\F01CD"}.mdi-shield-refresh-outline:before{content:"\F01CE"}.mdi-shield-remove:before{content:"\FADB"}.mdi-shield-remove-outline:before{content:"\FADC"}.mdi-shield-search:before{content:"\FD76"}.mdi-shield-star:before{content:"\F0166"}.mdi-shield-star-outline:before{content:"\F0167"}.mdi-shield-sun:before{content:"\F007F"}.mdi-shield-sun-outline:before{content:"\F0080"}.mdi-ship-wheel:before{content:"\F832"}.mdi-shoe-formal:before{content:"\FB22"}.mdi-shoe-heel:before{content:"\FB23"}.mdi-shoe-print:before{content:"\FE5A"}.mdi-shopify:before{content:"\FADD"}.mdi-shopping:before{content:"\F49A"}.mdi-shopping-music:before{content:"\F49B"}.mdi-shopping-outline:before{content:"\F0200"}.mdi-shopping-search:before{content:"\FFA1"}.mdi-shovel:before{content:"\F70F"}.mdi-shovel-off:before{content:"\F710"}.mdi-shower:before{content:"\F99F"}.mdi-shower-head:before{content:"\F9A0"}.mdi-shredder:before{content:"\F49C"}.mdi-shuffle:before{content:"\F49D"}.mdi-shuffle-disabled:before{content:"\F49E"}.mdi-shuffle-variant:before{content:"\F49F"}.mdi-shuriken:before{content:"\F03AA"}.mdi-sigma:before{content:"\F4A0"}.mdi-sigma-lower:before{content:"\F62B"}.mdi-sign-caution:before{content:"\F4A1"}.mdi-sign-direction:before{content:"\F780"}.mdi-sign-direction-minus:before{content:"\F0022"}.mdi-sign-direction-plus:before{content:"\FFFD"}.mdi-sign-direction-remove:before{content:"\FFFE"}.mdi-sign-real-estate:before{content:"\F0143"}.mdi-sign-text:before{content:"\F781"}.mdi-signal:before{content:"\F4A2"}.mdi-signal-2g:before{content:"\F711"}.mdi-signal-3g:before{content:"\F712"}.mdi-signal-4g:before{content:"\F713"}.mdi-signal-5g:before{content:"\FA6E"}.mdi-signal-cellular-1:before{content:"\F8BB"}.mdi-signal-cellular-2:before{content:"\F8BC"}.mdi-signal-cellular-3:before{content:"\F8BD"}.mdi-signal-cellular-outline:before{content:"\F8BE"}.mdi-signal-distance-variant:before{content:"\FE47"}.mdi-signal-hspa:before{content:"\F714"}.mdi-signal-hspa-plus:before{content:"\F715"}.mdi-signal-off:before{content:"\F782"}.mdi-signal-variant:before{content:"\F60A"}.mdi-signature:before{content:"\FE5B"}.mdi-signature-freehand:before{content:"\FE5C"}.mdi-signature-image:before{content:"\FE5D"}.mdi-signature-text:before{content:"\FE5E"}.mdi-silo:before{content:"\FB24"}.mdi-silverware:before{content:"\F4A3"}.mdi-silverware-clean:before{content:"\FFFF"}.mdi-silverware-fork:before{content:"\F4A4"}.mdi-silverware-fork-knife:before{content:"\FA6F"}.mdi-silverware-spoon:before{content:"\F4A5"}.mdi-silverware-variant:before{content:"\F4A6"}.mdi-sim:before{content:"\F4A7"}.mdi-sim-alert:before{content:"\F4A8"}.mdi-sim-off:before{content:"\F4A9"}.mdi-simple-icons:before{content:"\F0348"}.mdi-sina-weibo:before{content:"\FADE"}.mdi-sitemap:before{content:"\F4AA"}.mdi-skate:before{content:"\FD11"}.mdi-skew-less:before{content:"\FD12"}.mdi-skew-more:before{content:"\FD13"}.mdi-ski:before{content:"\F032F"}.mdi-ski-cross-country:before{content:"\F0330"}.mdi-ski-water:before{content:"\F0331"}.mdi-skip-backward:before{content:"\F4AB"}.mdi-skip-backward-outline:before{content:"\FF42"}.mdi-skip-forward:before{content:"\F4AC"}.mdi-skip-forward-outline:before{content:"\FF43"}.mdi-skip-next:before{content:"\F4AD"}.mdi-skip-next-circle:before{content:"\F661"}.mdi-skip-next-circle-outline:before{content:"\F662"}.mdi-skip-next-outline:before{content:"\FF44"}.mdi-skip-previous:before{content:"\F4AE"}.mdi-skip-previous-circle:before{content:"\F663"}.mdi-skip-previous-circle-outline:before{content:"\F664"}.mdi-skip-previous-outline:before{content:"\FF45"}.mdi-skull:before{content:"\F68B"}.mdi-skull-crossbones:before{content:"\FBA2"}.mdi-skull-crossbones-outline:before{content:"\FBA3"}.mdi-skull-outline:before{content:"\FBA4"}.mdi-skype:before{content:"\F4AF"}.mdi-skype-business:before{content:"\F4B0"}.mdi-slack:before{content:"\F4B1"}.mdi-slackware:before{content:"\F90A"}.mdi-slash-forward:before{content:"\F0000"}.mdi-slash-forward-box:before{content:"\F0001"}.mdi-sleep:before{content:"\F4B2"}.mdi-sleep-off:before{content:"\F4B3"}.mdi-slope-downhill:before{content:"\FE5F"}.mdi-slope-uphill:before{content:"\FE60"}.mdi-slot-machine:before{content:"\F013F"}.mdi-slot-machine-outline:before{content:"\F0140"}.mdi-smart-card:before{content:"\F00E8"}.mdi-smart-card-outline:before{content:"\F00E9"}.mdi-smart-card-reader:before{content:"\F00EA"}.mdi-smart-card-reader-outline:before{content:"\F00EB"}.mdi-smog:before{content:"\FA70"}.mdi-smoke-detector:before{content:"\F392"}.mdi-smoking:before{content:"\F4B4"}.mdi-smoking-off:before{content:"\F4B5"}.mdi-snapchat:before{content:"\F4B6"}.mdi-snowboard:before{content:"\F0332"}.mdi-snowflake:before{content:"\F716"}.mdi-snowflake-alert:before{content:"\FF46"}.mdi-snowflake-melt:before{content:"\F02F6"}.mdi-snowflake-variant:before{content:"\FF47"}.mdi-snowman:before{content:"\F4B7"}.mdi-soccer:before{content:"\F4B8"}.mdi-soccer-field:before{content:"\F833"}.mdi-sofa:before{content:"\F4B9"}.mdi-solar-panel:before{content:"\FD77"}.mdi-solar-panel-large:before{content:"\FD78"}.mdi-solar-power:before{content:"\FA71"}.mdi-soldering-iron:before{content:"\F00BD"}.mdi-solid:before{content:"\F68C"}.mdi-sort:before{content:"\F4BA"}.mdi-sort-alphabetical:before{content:"\F4BB"}.mdi-sort-alphabetical-ascending:before{content:"\F0173"}.mdi-sort-alphabetical-descending:before{content:"\F0174"}.mdi-sort-ascending:before{content:"\F4BC"}.mdi-sort-descending:before{content:"\F4BD"}.mdi-sort-numeric:before{content:"\F4BE"}.mdi-sort-variant:before{content:"\F4BF"}.mdi-sort-variant-lock:before{content:"\FCA9"}.mdi-sort-variant-lock-open:before{content:"\FCAA"}.mdi-sort-variant-remove:before{content:"\F0172"}.mdi-soundcloud:before{content:"\F4C0"}.mdi-source-branch:before{content:"\F62C"}.mdi-source-commit:before{content:"\F717"}.mdi-source-commit-end:before{content:"\F718"}.mdi-source-commit-end-local:before{content:"\F719"}.mdi-source-commit-local:before{content:"\F71A"}.mdi-source-commit-next-local:before{content:"\F71B"}.mdi-source-commit-start:before{content:"\F71C"}.mdi-source-commit-start-next-local:before{content:"\F71D"}.mdi-source-fork:before{content:"\F4C1"}.mdi-source-merge:before{content:"\F62D"}.mdi-source-pull:before{content:"\F4C2"}.mdi-source-repository:before{content:"\FCAB"}.mdi-source-repository-multiple:before{content:"\FCAC"}.mdi-soy-sauce:before{content:"\F7ED"}.mdi-spa:before{content:"\FCAD"}.mdi-spa-outline:before{content:"\FCAE"}.mdi-space-invaders:before{content:"\FBA5"}.mdi-space-station:before{content:"\F03AE"}.mdi-spade:before{content:"\FE48"}.mdi-speaker:before{content:"\F4C3"}.mdi-speaker-bluetooth:before{content:"\F9A1"}.mdi-speaker-multiple:before{content:"\FD14"}.mdi-speaker-off:before{content:"\F4C4"}.mdi-speaker-wireless:before{content:"\F71E"}.mdi-speedometer:before{content:"\F4C5"}.mdi-speedometer-medium:before{content:"\FFA2"}.mdi-speedometer-slow:before{content:"\FFA3"}.mdi-spellcheck:before{content:"\F4C6"}.mdi-spider:before{content:"\F0215"}.mdi-spider-thread:before{content:"\F0216"}.mdi-spider-web:before{content:"\FBA6"}.mdi-spotify:before{content:"\F4C7"}.mdi-spotlight:before{content:"\F4C8"}.mdi-spotlight-beam:before{content:"\F4C9"}.mdi-spray:before{content:"\F665"}.mdi-spray-bottle:before{content:"\FADF"}.mdi-sprinkler:before{content:"\F0081"}.mdi-sprinkler-variant:before{content:"\F0082"}.mdi-sprout:before{content:"\FE49"}.mdi-sprout-outline:before{content:"\FE4A"}.mdi-square:before{content:"\F763"}.mdi-square-edit-outline:before{content:"\F90B"}.mdi-square-inc:before{content:"\F4CA"}.mdi-square-inc-cash:before{content:"\F4CB"}.mdi-square-medium:before{content:"\FA12"}.mdi-square-medium-outline:before{content:"\FA13"}.mdi-square-off:before{content:"\F0319"}.mdi-square-off-outline:before{content:"\F031A"}.mdi-square-outline:before{content:"\F762"}.mdi-square-root:before{content:"\F783"}.mdi-square-root-box:before{content:"\F9A2"}.mdi-square-small:before{content:"\FA14"}.mdi-squeegee:before{content:"\FAE0"}.mdi-ssh:before{content:"\F8BF"}.mdi-stack-exchange:before{content:"\F60B"}.mdi-stack-overflow:before{content:"\F4CC"}.mdi-stackpath:before{content:"\F359"}.mdi-stadium:before{content:"\F001A"}.mdi-stadium-variant:before{content:"\F71F"}.mdi-stairs:before{content:"\F4CD"}.mdi-stairs-down:before{content:"\F02E9"}.mdi-stairs-up:before{content:"\F02E8"}.mdi-stamper:before{content:"\FD15"}.mdi-standard-definition:before{content:"\F7EE"}.mdi-star:before{content:"\F4CE"}.mdi-star-box:before{content:"\FA72"}.mdi-star-box-multiple:before{content:"\F02B1"}.mdi-star-box-multiple-outline:before{content:"\F02B2"}.mdi-star-box-outline:before{content:"\FA73"}.mdi-star-circle:before{content:"\F4CF"}.mdi-star-circle-outline:before{content:"\F9A3"}.mdi-star-face:before{content:"\F9A4"}.mdi-star-four-points:before{content:"\FAE1"}.mdi-star-four-points-outline:before{content:"\FAE2"}.mdi-star-half:before{content:"\F4D0"}.mdi-star-off:before{content:"\F4D1"}.mdi-star-outline:before{content:"\F4D2"}.mdi-star-three-points:before{content:"\FAE3"}.mdi-star-three-points-outline:before{content:"\FAE4"}.mdi-state-machine:before{content:"\F021A"}.mdi-steam:before{content:"\F4D3"}.mdi-steam-box:before{content:"\F90C"}.mdi-steering:before{content:"\F4D4"}.mdi-steering-off:before{content:"\F90D"}.mdi-step-backward:before{content:"\F4D5"}.mdi-step-backward-2:before{content:"\F4D6"}.mdi-step-forward:before{content:"\F4D7"}.mdi-step-forward-2:before{content:"\F4D8"}.mdi-stethoscope:before{content:"\F4D9"}.mdi-sticker:before{content:"\F038F"}.mdi-sticker-alert:before{content:"\F0390"}.mdi-sticker-alert-outline:before{content:"\F0391"}.mdi-sticker-check:before{content:"\F0392"}.mdi-sticker-check-outline:before{content:"\F0393"}.mdi-sticker-circle-outline:before{content:"\F5D0"}.mdi-sticker-emoji:before{content:"\F784"}.mdi-sticker-minus:before{content:"\F0394"}.mdi-sticker-minus-outline:before{content:"\F0395"}.mdi-sticker-outline:before{content:"\F0396"}.mdi-sticker-plus:before{content:"\F0397"}.mdi-sticker-plus-outline:before{content:"\F0398"}.mdi-sticker-remove:before{content:"\F0399"}.mdi-sticker-remove-outline:before{content:"\F039A"}.mdi-stocking:before{content:"\F4DA"}.mdi-stomach:before{content:"\F00BE"}.mdi-stop:before{content:"\F4DB"}.mdi-stop-circle:before{content:"\F666"}.mdi-stop-circle-outline:before{content:"\F667"}.mdi-store:before{content:"\F4DC"}.mdi-store-24-hour:before{content:"\F4DD"}.mdi-store-outline:before{content:"\F038C"}.mdi-storefront:before{content:"\F00EC"}.mdi-stove:before{content:"\F4DE"}.mdi-strategy:before{content:"\F0201"}.mdi-strava:before{content:"\FB25"}.mdi-stretch-to-page:before{content:"\FF48"}.mdi-stretch-to-page-outline:before{content:"\FF49"}.mdi-string-lights:before{content:"\F02E5"}.mdi-string-lights-off:before{content:"\F02E6"}.mdi-subdirectory-arrow-left:before{content:"\F60C"}.mdi-subdirectory-arrow-right:before{content:"\F60D"}.mdi-subtitles:before{content:"\FA15"}.mdi-subtitles-outline:before{content:"\FA16"}.mdi-subway:before{content:"\F6AB"}.mdi-subway-alert-variant:before{content:"\FD79"}.mdi-subway-variant:before{content:"\F4DF"}.mdi-summit:before{content:"\F785"}.mdi-sunglasses:before{content:"\F4E0"}.mdi-surround-sound:before{content:"\F5C5"}.mdi-surround-sound-2-0:before{content:"\F7EF"}.mdi-surround-sound-3-1:before{content:"\F7F0"}.mdi-surround-sound-5-1:before{content:"\F7F1"}.mdi-surround-sound-7-1:before{content:"\F7F2"}.mdi-svg:before{content:"\F720"}.mdi-swap-horizontal:before{content:"\F4E1"}.mdi-swap-horizontal-bold:before{content:"\FBA9"}.mdi-swap-horizontal-circle:before{content:"\F0002"}.mdi-swap-horizontal-circle-outline:before{content:"\F0003"}.mdi-swap-horizontal-variant:before{content:"\F8C0"}.mdi-swap-vertical:before{content:"\F4E2"}.mdi-swap-vertical-bold:before{content:"\FBAA"}.mdi-swap-vertical-circle:before{content:"\F0004"}.mdi-swap-vertical-circle-outline:before{content:"\F0005"}.mdi-swap-vertical-variant:before{content:"\F8C1"}.mdi-swim:before{content:"\F4E3"}.mdi-switch:before{content:"\F4E4"}.mdi-sword:before{content:"\F4E5"}.mdi-sword-cross:before{content:"\F786"}.mdi-syllabary-hangul:before{content:"\F035E"}.mdi-syllabary-hiragana:before{content:"\F035F"}.mdi-syllabary-katakana:before{content:"\F0360"}.mdi-syllabary-katakana-half-width:before{content:"\F0361"}.mdi-symfony:before{content:"\FAE5"}.mdi-sync:before{content:"\F4E6"}.mdi-sync-alert:before{content:"\F4E7"}.mdi-sync-circle:before{content:"\F03A3"}.mdi-sync-off:before{content:"\F4E8"}.mdi-tab:before{content:"\F4E9"}.mdi-tab-minus:before{content:"\FB26"}.mdi-tab-plus:before{content:"\F75B"}.mdi-tab-remove:before{content:"\FB27"}.mdi-tab-unselected:before{content:"\F4EA"}.mdi-table:before{content:"\F4EB"}.mdi-table-border:before{content:"\FA17"}.mdi-table-chair:before{content:"\F0083"}.mdi-table-column:before{content:"\F834"}.mdi-table-column-plus-after:before{content:"\F4EC"}.mdi-table-column-plus-before:before{content:"\F4ED"}.mdi-table-column-remove:before{content:"\F4EE"}.mdi-table-column-width:before{content:"\F4EF"}.mdi-table-edit:before{content:"\F4F0"}.mdi-table-eye:before{content:"\F00BF"}.mdi-table-headers-eye:before{content:"\F0248"}.mdi-table-headers-eye-off:before{content:"\F0249"}.mdi-table-large:before{content:"\F4F1"}.mdi-table-large-plus:before{content:"\FFA4"}.mdi-table-large-remove:before{content:"\FFA5"}.mdi-table-merge-cells:before{content:"\F9A5"}.mdi-table-of-contents:before{content:"\F835"}.mdi-table-plus:before{content:"\FA74"}.mdi-table-remove:before{content:"\FA75"}.mdi-table-row:before{content:"\F836"}.mdi-table-row-height:before{content:"\F4F2"}.mdi-table-row-plus-after:before{content:"\F4F3"}.mdi-table-row-plus-before:before{content:"\F4F4"}.mdi-table-row-remove:before{content:"\F4F5"}.mdi-table-search:before{content:"\F90E"}.mdi-table-settings:before{content:"\F837"}.mdi-table-tennis:before{content:"\FE4B"}.mdi-tablet:before{content:"\F4F6"}.mdi-tablet-android:before{content:"\F4F7"}.mdi-tablet-cellphone:before{content:"\F9A6"}.mdi-tablet-dashboard:before{content:"\FEEB"}.mdi-tablet-ipad:before{content:"\F4F8"}.mdi-taco:before{content:"\F761"}.mdi-tag:before{content:"\F4F9"}.mdi-tag-faces:before{content:"\F4FA"}.mdi-tag-heart:before{content:"\F68A"}.mdi-tag-heart-outline:before{content:"\FBAB"}.mdi-tag-minus:before{content:"\F90F"}.mdi-tag-minus-outline:before{content:"\F024A"}.mdi-tag-multiple:before{content:"\F4FB"}.mdi-tag-multiple-outline:before{content:"\F0322"}.mdi-tag-off:before{content:"\F024B"}.mdi-tag-off-outline:before{content:"\F024C"}.mdi-tag-outline:before{content:"\F4FC"}.mdi-tag-plus:before{content:"\F721"}.mdi-tag-plus-outline:before{content:"\F024D"}.mdi-tag-remove:before{content:"\F722"}.mdi-tag-remove-outline:before{content:"\F024E"}.mdi-tag-text:before{content:"\F024F"}.mdi-tag-text-outline:before{content:"\F4FD"}.mdi-tank:before{content:"\FD16"}.mdi-tanker-truck:before{content:"\F0006"}.mdi-tape-measure:before{content:"\FB28"}.mdi-target:before{content:"\F4FE"}.mdi-target-account:before{content:"\FBAC"}.mdi-target-variant:before{content:"\FA76"}.mdi-taxi:before{content:"\F4FF"}.mdi-tea:before{content:"\FD7A"}.mdi-tea-outline:before{content:"\FD7B"}.mdi-teach:before{content:"\F88F"}.mdi-teamviewer:before{content:"\F500"}.mdi-telegram:before{content:"\F501"}.mdi-telescope:before{content:"\FB29"}.mdi-television:before{content:"\F502"}.mdi-television-ambient-light:before{content:"\F0381"}.mdi-television-box:before{content:"\F838"}.mdi-television-classic:before{content:"\F7F3"}.mdi-television-classic-off:before{content:"\F839"}.mdi-television-clean:before{content:"\F013B"}.mdi-television-guide:before{content:"\F503"}.mdi-television-off:before{content:"\F83A"}.mdi-television-pause:before{content:"\FFA6"}.mdi-television-play:before{content:"\FEEC"}.mdi-television-stop:before{content:"\FFA7"}.mdi-temperature-celsius:before{content:"\F504"}.mdi-temperature-fahrenheit:before{content:"\F505"}.mdi-temperature-kelvin:before{content:"\F506"}.mdi-tennis:before{content:"\FD7C"}.mdi-tennis-ball:before{content:"\F507"}.mdi-tent:before{content:"\F508"}.mdi-terraform:before{content:"\F0084"}.mdi-terrain:before{content:"\F509"}.mdi-test-tube:before{content:"\F668"}.mdi-test-tube-empty:before{content:"\F910"}.mdi-test-tube-off:before{content:"\F911"}.mdi-text:before{content:"\F9A7"}.mdi-text-recognition:before{content:"\F0168"}.mdi-text-shadow:before{content:"\F669"}.mdi-text-short:before{content:"\F9A8"}.mdi-text-subject:before{content:"\F9A9"}.mdi-text-to-speech:before{content:"\F50A"}.mdi-text-to-speech-off:before{content:"\F50B"}.mdi-textarea:before{content:"\F00C0"}.mdi-textbox:before{content:"\F60E"}.mdi-textbox-lock:before{content:"\F0388"}.mdi-textbox-password:before{content:"\F7F4"}.mdi-texture:before{content:"\F50C"}.mdi-texture-box:before{content:"\F0007"}.mdi-theater:before{content:"\F50D"}.mdi-theme-light-dark:before{content:"\F50E"}.mdi-thermometer:before{content:"\F50F"}.mdi-thermometer-alert:before{content:"\FE61"}.mdi-thermometer-chevron-down:before{content:"\FE62"}.mdi-thermometer-chevron-up:before{content:"\FE63"}.mdi-thermometer-high:before{content:"\F00ED"}.mdi-thermometer-lines:before{content:"\F510"}.mdi-thermometer-low:before{content:"\F00EE"}.mdi-thermometer-minus:before{content:"\FE64"}.mdi-thermometer-plus:before{content:"\FE65"}.mdi-thermostat:before{content:"\F393"}.mdi-thermostat-box:before{content:"\F890"}.mdi-thought-bubble:before{content:"\F7F5"}.mdi-thought-bubble-outline:before{content:"\F7F6"}.mdi-thumb-down:before{content:"\F511"}.mdi-thumb-down-outline:before{content:"\F512"}.mdi-thumb-up:before{content:"\F513"}.mdi-thumb-up-outline:before{content:"\F514"}.mdi-thumbs-up-down:before{content:"\F515"}.mdi-ticket:before{content:"\F516"}.mdi-ticket-account:before{content:"\F517"}.mdi-ticket-confirmation:before{content:"\F518"}.mdi-ticket-outline:before{content:"\F912"}.mdi-ticket-percent:before{content:"\F723"}.mdi-tie:before{content:"\F519"}.mdi-tilde:before{content:"\F724"}.mdi-timelapse:before{content:"\F51A"}.mdi-timeline:before{content:"\FBAD"}.mdi-timeline-alert:before{content:"\FFB2"}.mdi-timeline-alert-outline:before{content:"\FFB5"}.mdi-timeline-clock:before{content:"\F0226"}.mdi-timeline-clock-outline:before{content:"\F0227"}.mdi-timeline-help:before{content:"\FFB6"}.mdi-timeline-help-outline:before{content:"\FFB7"}.mdi-timeline-outline:before{content:"\FBAE"}.mdi-timeline-plus:before{content:"\FFB3"}.mdi-timeline-plus-outline:before{content:"\FFB4"}.mdi-timeline-text:before{content:"\FBAF"}.mdi-timeline-text-outline:before{content:"\FBB0"}.mdi-timer:before{content:"\F51B"}.mdi-timer-10:before{content:"\F51C"}.mdi-timer-3:before{content:"\F51D"}.mdi-timer-off:before{content:"\F51E"}.mdi-timer-sand:before{content:"\F51F"}.mdi-timer-sand-empty:before{content:"\F6AC"}.mdi-timer-sand-full:before{content:"\F78B"}.mdi-timetable:before{content:"\F520"}.mdi-toaster:before{content:"\F0085"}.mdi-toaster-off:before{content:"\F01E2"}.mdi-toaster-oven:before{content:"\FCAF"}.mdi-toggle-switch:before{content:"\F521"}.mdi-toggle-switch-off:before{content:"\F522"}.mdi-toggle-switch-off-outline:before{content:"\FA18"}.mdi-toggle-switch-outline:before{content:"\FA19"}.mdi-toilet:before{content:"\F9AA"}.mdi-toolbox:before{content:"\F9AB"}.mdi-toolbox-outline:before{content:"\F9AC"}.mdi-tools:before{content:"\F0086"}.mdi-tooltip:before{content:"\F523"}.mdi-tooltip-account:before{content:"\F00C"}.mdi-tooltip-edit:before{content:"\F524"}.mdi-tooltip-edit-outline:before{content:"\F02F0"}.mdi-tooltip-image:before{content:"\F525"}.mdi-tooltip-image-outline:before{content:"\FBB1"}.mdi-tooltip-outline:before{content:"\F526"}.mdi-tooltip-plus:before{content:"\FBB2"}.mdi-tooltip-plus-outline:before{content:"\F527"}.mdi-tooltip-text:before{content:"\F528"}.mdi-tooltip-text-outline:before{content:"\FBB3"}.mdi-tooth:before{content:"\F8C2"}.mdi-tooth-outline:before{content:"\F529"}.mdi-toothbrush:before{content:"\F0154"}.mdi-toothbrush-electric:before{content:"\F0157"}.mdi-toothbrush-paste:before{content:"\F0155"}.mdi-tor:before{content:"\F52A"}.mdi-tortoise:before{content:"\FD17"}.mdi-toslink:before{content:"\F02E3"}.mdi-tournament:before{content:"\F9AD"}.mdi-tower-beach:before{content:"\F680"}.mdi-tower-fire:before{content:"\F681"}.mdi-towing:before{content:"\F83B"}.mdi-toy-brick:before{content:"\F02B3"}.mdi-toy-brick-marker:before{content:"\F02B4"}.mdi-toy-brick-marker-outline:before{content:"\F02B5"}.mdi-toy-brick-minus:before{content:"\F02B6"}.mdi-toy-brick-minus-outline:before{content:"\F02B7"}.mdi-toy-brick-outline:before{content:"\F02B8"}.mdi-toy-brick-plus:before{content:"\F02B9"}.mdi-toy-brick-plus-outline:before{content:"\F02BA"}.mdi-toy-brick-remove:before{content:"\F02BB"}.mdi-toy-brick-remove-outline:before{content:"\F02BC"}.mdi-toy-brick-search:before{content:"\F02BD"}.mdi-toy-brick-search-outline:before{content:"\F02BE"}.mdi-track-light:before{content:"\F913"}.mdi-trackpad:before{content:"\F7F7"}.mdi-trackpad-lock:before{content:"\F932"}.mdi-tractor:before{content:"\F891"}.mdi-trademark:before{content:"\FA77"}.mdi-traffic-cone:before{content:"\F03A7"}.mdi-traffic-light:before{content:"\F52B"}.mdi-train:before{content:"\F52C"}.mdi-train-car:before{content:"\FBB4"}.mdi-train-variant:before{content:"\F8C3"}.mdi-tram:before{content:"\F52D"}.mdi-tram-side:before{content:"\F0008"}.mdi-transcribe:before{content:"\F52E"}.mdi-transcribe-close:before{content:"\F52F"}.mdi-transfer:before{content:"\F0087"}.mdi-transfer-down:before{content:"\FD7D"}.mdi-transfer-left:before{content:"\FD7E"}.mdi-transfer-right:before{content:"\F530"}.mdi-transfer-up:before{content:"\FD7F"}.mdi-transit-connection:before{content:"\FD18"}.mdi-transit-connection-variant:before{content:"\FD19"}.mdi-transit-detour:before{content:"\FFA8"}.mdi-transit-transfer:before{content:"\F6AD"}.mdi-transition:before{content:"\F914"}.mdi-transition-masked:before{content:"\F915"}.mdi-translate:before{content:"\F5CA"}.mdi-translate-off:before{content:"\FE66"}.mdi-transmission-tower:before{content:"\FD1A"}.mdi-trash-can:before{content:"\FA78"}.mdi-trash-can-outline:before{content:"\FA79"}.mdi-tray:before{content:"\F02BF"}.mdi-tray-alert:before{content:"\F02C0"}.mdi-tray-full:before{content:"\F02C1"}.mdi-tray-minus:before{content:"\F02C2"}.mdi-tray-plus:before{content:"\F02C3"}.mdi-tray-remove:before{content:"\F02C4"}.mdi-treasure-chest:before{content:"\F725"}.mdi-tree:before{content:"\F531"}.mdi-tree-outline:before{content:"\FE4C"}.mdi-trello:before{content:"\F532"}.mdi-trending-down:before{content:"\F533"}.mdi-trending-neutral:before{content:"\F534"}.mdi-trending-up:before{content:"\F535"}.mdi-triangle:before{content:"\F536"}.mdi-triangle-outline:before{content:"\F537"}.mdi-triforce:before{content:"\FBB5"}.mdi-trophy:before{content:"\F538"}.mdi-trophy-award:before{content:"\F539"}.mdi-trophy-broken:before{content:"\FD80"}.mdi-trophy-outline:before{content:"\F53A"}.mdi-trophy-variant:before{content:"\F53B"}.mdi-trophy-variant-outline:before{content:"\F53C"}.mdi-truck:before{content:"\F53D"}.mdi-truck-check:before{content:"\FCB0"}.mdi-truck-check-outline:before{content:"\F02C5"}.mdi-truck-delivery:before{content:"\F53E"}.mdi-truck-delivery-outline:before{content:"\F02C6"}.mdi-truck-fast:before{content:"\F787"}.mdi-truck-fast-outline:before{content:"\F02C7"}.mdi-truck-outline:before{content:"\F02C8"}.mdi-truck-trailer:before{content:"\F726"}.mdi-trumpet:before{content:"\F00C1"}.mdi-tshirt-crew:before{content:"\FA7A"}.mdi-tshirt-crew-outline:before{content:"\F53F"}.mdi-tshirt-v:before{content:"\FA7B"}.mdi-tshirt-v-outline:before{content:"\F540"}.mdi-tumble-dryer:before{content:"\F916"}.mdi-tumble-dryer-alert:before{content:"\F01E5"}.mdi-tumble-dryer-off:before{content:"\F01E6"}.mdi-tumblr:before{content:"\F541"}.mdi-tumblr-box:before{content:"\F917"}.mdi-tumblr-reblog:before{content:"\F542"}.mdi-tune:before{content:"\F62E"}.mdi-tune-vertical:before{content:"\F66A"}.mdi-turnstile:before{content:"\FCB1"}.mdi-turnstile-outline:before{content:"\FCB2"}.mdi-turtle:before{content:"\FCB3"}.mdi-twitch:before{content:"\F543"}.mdi-twitter:before{content:"\F544"}.mdi-twitter-box:before{content:"\F545"}.mdi-twitter-circle:before{content:"\F546"}.mdi-twitter-retweet:before{content:"\F547"}.mdi-two-factor-authentication:before{content:"\F9AE"}.mdi-typewriter:before{content:"\FF4A"}.mdi-uber:before{content:"\F748"}.mdi-ubisoft:before{content:"\FBB6"}.mdi-ubuntu:before{content:"\F548"}.mdi-ufo:before{content:"\F00EF"}.mdi-ufo-outline:before{content:"\F00F0"}.mdi-ultra-high-definition:before{content:"\F7F8"}.mdi-umbraco:before{content:"\F549"}.mdi-umbrella:before{content:"\F54A"}.mdi-umbrella-closed:before{content:"\F9AF"}.mdi-umbrella-outline:before{content:"\F54B"}.mdi-undo:before{content:"\F54C"}.mdi-undo-variant:before{content:"\F54D"}.mdi-unfold-less-horizontal:before{content:"\F54E"}.mdi-unfold-less-vertical:before{content:"\F75F"}.mdi-unfold-more-horizontal:before{content:"\F54F"}.mdi-unfold-more-vertical:before{content:"\F760"}.mdi-ungroup:before{content:"\F550"}.mdi-unicode:before{content:"\FEED"}.mdi-unity:before{content:"\F6AE"}.mdi-unreal:before{content:"\F9B0"}.mdi-untappd:before{content:"\F551"}.mdi-update:before{content:"\F6AF"}.mdi-upload:before{content:"\F552"}.mdi-upload-lock:before{content:"\F039E"}.mdi-upload-lock-outline:before{content:"\F039F"}.mdi-upload-multiple:before{content:"\F83C"}.mdi-upload-network:before{content:"\F6F5"}.mdi-upload-network-outline:before{content:"\FCB4"}.mdi-upload-off:before{content:"\F00F1"}.mdi-upload-off-outline:before{content:"\F00F2"}.mdi-upload-outline:before{content:"\FE67"}.mdi-usb:before{content:"\F553"}.mdi-usb-flash-drive:before{content:"\F02C9"}.mdi-usb-flash-drive-outline:before{content:"\F02CA"}.mdi-usb-port:before{content:"\F021B"}.mdi-valve:before{content:"\F0088"}.mdi-valve-closed:before{content:"\F0089"}.mdi-valve-open:before{content:"\F008A"}.mdi-van-passenger:before{content:"\F7F9"}.mdi-van-utility:before{content:"\F7FA"}.mdi-vanish:before{content:"\F7FB"}.mdi-vanity-light:before{content:"\F020C"}.mdi-variable:before{content:"\FAE6"}.mdi-variable-box:before{content:"\F013C"}.mdi-vector-arrange-above:before{content:"\F554"}.mdi-vector-arrange-below:before{content:"\F555"}.mdi-vector-bezier:before{content:"\FAE7"}.mdi-vector-circle:before{content:"\F556"}.mdi-vector-circle-variant:before{content:"\F557"}.mdi-vector-combine:before{content:"\F558"}.mdi-vector-curve:before{content:"\F559"}.mdi-vector-difference:before{content:"\F55A"}.mdi-vector-difference-ab:before{content:"\F55B"}.mdi-vector-difference-ba:before{content:"\F55C"}.mdi-vector-ellipse:before{content:"\F892"}.mdi-vector-intersection:before{content:"\F55D"}.mdi-vector-line:before{content:"\F55E"}.mdi-vector-link:before{content:"\F0009"}.mdi-vector-point:before{content:"\F55F"}.mdi-vector-polygon:before{content:"\F560"}.mdi-vector-polyline:before{content:"\F561"}.mdi-vector-polyline-edit:before{content:"\F0250"}.mdi-vector-polyline-minus:before{content:"\F0251"}.mdi-vector-polyline-plus:before{content:"\F0252"}.mdi-vector-polyline-remove:before{content:"\F0253"}.mdi-vector-radius:before{content:"\F749"}.mdi-vector-rectangle:before{content:"\F5C6"}.mdi-vector-selection:before{content:"\F562"}.mdi-vector-square:before{content:"\F001"}.mdi-vector-triangle:before{content:"\F563"}.mdi-vector-union:before{content:"\F564"}.mdi-venmo:before{content:"\F578"}.mdi-vhs:before{content:"\FA1A"}.mdi-vibrate:before{content:"\F566"}.mdi-vibrate-off:before{content:"\FCB5"}.mdi-video:before{content:"\F567"}.mdi-video-3d:before{content:"\F7FC"}.mdi-video-3d-variant:before{content:"\FEEE"}.mdi-video-4k-box:before{content:"\F83D"}.mdi-video-account:before{content:"\F918"}.mdi-video-check:before{content:"\F008B"}.mdi-video-check-outline:before{content:"\F008C"}.mdi-video-image:before{content:"\F919"}.mdi-video-input-antenna:before{content:"\F83E"}.mdi-video-input-component:before{content:"\F83F"}.mdi-video-input-hdmi:before{content:"\F840"}.mdi-video-input-scart:before{content:"\FFA9"}.mdi-video-input-svideo:before{content:"\F841"}.mdi-video-minus:before{content:"\F9B1"}.mdi-video-off:before{content:"\F568"}.mdi-video-off-outline:before{content:"\FBB7"}.mdi-video-outline:before{content:"\FBB8"}.mdi-video-plus:before{content:"\F9B2"}.mdi-video-stabilization:before{content:"\F91A"}.mdi-video-switch:before{content:"\F569"}.mdi-video-vintage:before{content:"\FA1B"}.mdi-video-wireless:before{content:"\FEEF"}.mdi-video-wireless-outline:before{content:"\FEF0"}.mdi-view-agenda:before{content:"\F56A"}.mdi-view-agenda-outline:before{content:"\F0203"}.mdi-view-array:before{content:"\F56B"}.mdi-view-carousel:before{content:"\F56C"}.mdi-view-column:before{content:"\F56D"}.mdi-view-comfy:before{content:"\FE4D"}.mdi-view-compact:before{content:"\FE4E"}.mdi-view-compact-outline:before{content:"\FE4F"}.mdi-view-dashboard:before{content:"\F56E"}.mdi-view-dashboard-outline:before{content:"\FA1C"}.mdi-view-dashboard-variant:before{content:"\F842"}.mdi-view-day:before{content:"\F56F"}.mdi-view-grid:before{content:"\F570"}.mdi-view-grid-outline:before{content:"\F0204"}.mdi-view-grid-plus:before{content:"\FFAA"}.mdi-view-grid-plus-outline:before{content:"\F0205"}.mdi-view-headline:before{content:"\F571"}.mdi-view-list:before{content:"\F572"}.mdi-view-module:before{content:"\F573"}.mdi-view-parallel:before{content:"\F727"}.mdi-view-quilt:before{content:"\F574"}.mdi-view-sequential:before{content:"\F728"}.mdi-view-split-horizontal:before{content:"\FBA7"}.mdi-view-split-vertical:before{content:"\FBA8"}.mdi-view-stream:before{content:"\F575"}.mdi-view-week:before{content:"\F576"}.mdi-vimeo:before{content:"\F577"}.mdi-violin:before{content:"\F60F"}.mdi-virtual-reality:before{content:"\F893"}.mdi-visual-studio:before{content:"\F610"}.mdi-visual-studio-code:before{content:"\FA1D"}.mdi-vk:before{content:"\F579"}.mdi-vk-box:before{content:"\F57A"}.mdi-vk-circle:before{content:"\F57B"}.mdi-vlc:before{content:"\F57C"}.mdi-voice:before{content:"\F5CB"}.mdi-voice-off:before{content:"\FEF1"}.mdi-voicemail:before{content:"\F57D"}.mdi-volleyball:before{content:"\F9B3"}.mdi-volume-high:before{content:"\F57E"}.mdi-volume-low:before{content:"\F57F"}.mdi-volume-medium:before{content:"\F580"}.mdi-volume-minus:before{content:"\F75D"}.mdi-volume-mute:before{content:"\F75E"}.mdi-volume-off:before{content:"\F581"}.mdi-volume-plus:before{content:"\F75C"}.mdi-volume-source:before{content:"\F014B"}.mdi-volume-variant-off:before{content:"\FE68"}.mdi-volume-vibrate:before{content:"\F014C"}.mdi-vote:before{content:"\FA1E"}.mdi-vote-outline:before{content:"\FA1F"}.mdi-vpn:before{content:"\F582"}.mdi-vuejs:before{content:"\F843"}.mdi-vuetify:before{content:"\FE50"}.mdi-walk:before{content:"\F583"}.mdi-wall:before{content:"\F7FD"}.mdi-wall-sconce:before{content:"\F91B"}.mdi-wall-sconce-flat:before{content:"\F91C"}.mdi-wall-sconce-variant:before{content:"\F91D"}.mdi-wallet:before{content:"\F584"}.mdi-wallet-giftcard:before{content:"\F585"}.mdi-wallet-membership:before{content:"\F586"}.mdi-wallet-outline:before{content:"\FBB9"}.mdi-wallet-plus:before{content:"\FFAB"}.mdi-wallet-plus-outline:before{content:"\FFAC"}.mdi-wallet-travel:before{content:"\F587"}.mdi-wallpaper:before{content:"\FE69"}.mdi-wan:before{content:"\F588"}.mdi-wardrobe:before{content:"\FFAD"}.mdi-wardrobe-outline:before{content:"\FFAE"}.mdi-warehouse:before{content:"\FFBB"}.mdi-washing-machine:before{content:"\F729"}.mdi-washing-machine-alert:before{content:"\F01E7"}.mdi-washing-machine-off:before{content:"\F01E8"}.mdi-watch:before{content:"\F589"}.mdi-watch-export:before{content:"\F58A"}.mdi-watch-export-variant:before{content:"\F894"}.mdi-watch-import:before{content:"\F58B"}.mdi-watch-import-variant:before{content:"\F895"}.mdi-watch-variant:before{content:"\F896"}.mdi-watch-vibrate:before{content:"\F6B0"}.mdi-watch-vibrate-off:before{content:"\FCB6"}.mdi-water:before{content:"\F58C"}.mdi-water-boiler:before{content:"\FFAF"}.mdi-water-boiler-alert:before{content:"\F01DE"}.mdi-water-boiler-off:before{content:"\F01DF"}.mdi-water-off:before{content:"\F58D"}.mdi-water-outline:before{content:"\FE6A"}.mdi-water-percent:before{content:"\F58E"}.mdi-water-polo:before{content:"\F02CB"}.mdi-water-pump:before{content:"\F58F"}.mdi-water-pump-off:before{content:"\FFB0"}.mdi-water-well:before{content:"\F008D"}.mdi-water-well-outline:before{content:"\F008E"}.mdi-watermark:before{content:"\F612"}.mdi-wave:before{content:"\FF4B"}.mdi-waves:before{content:"\F78C"}.mdi-waze:before{content:"\FBBA"}.mdi-weather-cloudy:before{content:"\F590"}.mdi-weather-cloudy-alert:before{content:"\FF4C"}.mdi-weather-cloudy-arrow-right:before{content:"\FE51"}.mdi-weather-fog:before{content:"\F591"}.mdi-weather-hail:before{content:"\F592"}.mdi-weather-hazy:before{content:"\FF4D"}.mdi-weather-hurricane:before{content:"\F897"}.mdi-weather-lightning:before{content:"\F593"}.mdi-weather-lightning-rainy:before{content:"\F67D"}.mdi-weather-night:before{content:"\F594"}.mdi-weather-night-partly-cloudy:before{content:"\FF4E"}.mdi-weather-partly-cloudy:before{content:"\F595"}.mdi-weather-partly-lightning:before{content:"\FF4F"}.mdi-weather-partly-rainy:before{content:"\FF50"}.mdi-weather-partly-snowy:before{content:"\FF51"}.mdi-weather-partly-snowy-rainy:before{content:"\FF52"}.mdi-weather-pouring:before{content:"\F596"}.mdi-weather-rainy:before{content:"\F597"}.mdi-weather-snowy:before{content:"\F598"}.mdi-weather-snowy-heavy:before{content:"\FF53"}.mdi-weather-snowy-rainy:before{content:"\F67E"}.mdi-weather-sunny:before{content:"\F599"}.mdi-weather-sunny-alert:before{content:"\FF54"}.mdi-weather-sunset:before{content:"\F59A"}.mdi-weather-sunset-down:before{content:"\F59B"}.mdi-weather-sunset-up:before{content:"\F59C"}.mdi-weather-tornado:before{content:"\FF55"}.mdi-weather-windy:before{content:"\F59D"}.mdi-weather-windy-variant:before{content:"\F59E"}.mdi-web:before{content:"\F59F"}.mdi-web-box:before{content:"\FFB1"}.mdi-web-clock:before{content:"\F0275"}.mdi-webcam:before{content:"\F5A0"}.mdi-webhook:before{content:"\F62F"}.mdi-webpack:before{content:"\F72A"}.mdi-webrtc:before{content:"\F0273"}.mdi-wechat:before{content:"\F611"}.mdi-weight:before{content:"\F5A1"}.mdi-weight-gram:before{content:"\FD1B"}.mdi-weight-kilogram:before{content:"\F5A2"}.mdi-weight-lifter:before{content:"\F0188"}.mdi-weight-pound:before{content:"\F9B4"}.mdi-whatsapp:before{content:"\F5A3"}.mdi-wheelchair-accessibility:before{content:"\F5A4"}.mdi-whistle:before{content:"\F9B5"}.mdi-whistle-outline:before{content:"\F02E7"}.mdi-white-balance-auto:before{content:"\F5A5"}.mdi-white-balance-incandescent:before{content:"\F5A6"}.mdi-white-balance-iridescent:before{content:"\F5A7"}.mdi-white-balance-sunny:before{content:"\F5A8"}.mdi-widgets:before{content:"\F72B"}.mdi-widgets-outline:before{content:"\F0380"}.mdi-wifi:before{content:"\F5A9"}.mdi-wifi-off:before{content:"\F5AA"}.mdi-wifi-star:before{content:"\FE6B"}.mdi-wifi-strength-1:before{content:"\F91E"}.mdi-wifi-strength-1-alert:before{content:"\F91F"}.mdi-wifi-strength-1-lock:before{content:"\F920"}.mdi-wifi-strength-2:before{content:"\F921"}.mdi-wifi-strength-2-alert:before{content:"\F922"}.mdi-wifi-strength-2-lock:before{content:"\F923"}.mdi-wifi-strength-3:before{content:"\F924"}.mdi-wifi-strength-3-alert:before{content:"\F925"}.mdi-wifi-strength-3-lock:before{content:"\F926"}.mdi-wifi-strength-4:before{content:"\F927"}.mdi-wifi-strength-4-alert:before{content:"\F928"}.mdi-wifi-strength-4-lock:before{content:"\F929"}.mdi-wifi-strength-alert-outline:before{content:"\F92A"}.mdi-wifi-strength-lock-outline:before{content:"\F92B"}.mdi-wifi-strength-off:before{content:"\F92C"}.mdi-wifi-strength-off-outline:before{content:"\F92D"}.mdi-wifi-strength-outline:before{content:"\F92E"}.mdi-wii:before{content:"\F5AB"}.mdi-wiiu:before{content:"\F72C"}.mdi-wikipedia:before{content:"\F5AC"}.mdi-wind-turbine:before{content:"\FD81"}.mdi-window-close:before{content:"\F5AD"}.mdi-window-closed:before{content:"\F5AE"}.mdi-window-closed-variant:before{content:"\F0206"}.mdi-window-maximize:before{content:"\F5AF"}.mdi-window-minimize:before{content:"\F5B0"}.mdi-window-open:before{content:"\F5B1"}.mdi-window-open-variant:before{content:"\F0207"}.mdi-window-restore:before{content:"\F5B2"}.mdi-window-shutter:before{content:"\F0147"}.mdi-window-shutter-alert:before{content:"\F0148"}.mdi-window-shutter-open:before{content:"\F0149"}.mdi-windows:before{content:"\F5B3"}.mdi-windows-classic:before{content:"\FA20"}.mdi-wiper:before{content:"\FAE8"}.mdi-wiper-wash:before{content:"\FD82"}.mdi-wordpress:before{content:"\F5B4"}.mdi-worker:before{content:"\F5B5"}.mdi-wrap:before{content:"\F5B6"}.mdi-wrap-disabled:before{content:"\FBBB"}.mdi-wrench:before{content:"\F5B7"}.mdi-wrench-outline:before{content:"\FBBC"}.mdi-wunderlist:before{content:"\F5B8"}.mdi-xamarin:before{content:"\F844"}.mdi-xamarin-outline:before{content:"\F845"}.mdi-xaml:before{content:"\F673"}.mdi-xbox:before{content:"\F5B9"}.mdi-xbox-controller:before{content:"\F5BA"}.mdi-xbox-controller-battery-alert:before{content:"\F74A"}.mdi-xbox-controller-battery-charging:before{content:"\FA21"}.mdi-xbox-controller-battery-empty:before{content:"\F74B"}.mdi-xbox-controller-battery-full:before{content:"\F74C"}.mdi-xbox-controller-battery-low:before{content:"\F74D"}.mdi-xbox-controller-battery-medium:before{content:"\F74E"}.mdi-xbox-controller-battery-unknown:before{content:"\F74F"}.mdi-xbox-controller-menu:before{content:"\FE52"}.mdi-xbox-controller-off:before{content:"\F5BB"}.mdi-xbox-controller-view:before{content:"\FE53"}.mdi-xda:before{content:"\F5BC"}.mdi-xing:before{content:"\F5BD"}.mdi-xing-box:before{content:"\F5BE"}.mdi-xing-circle:before{content:"\F5BF"}.mdi-xml:before{content:"\F5C0"}.mdi-xmpp:before{content:"\F7FE"}.mdi-yahoo:before{content:"\FB2A"}.mdi-yammer:before{content:"\F788"}.mdi-yeast:before{content:"\F5C1"}.mdi-yelp:before{content:"\F5C2"}.mdi-yin-yang:before{content:"\F67F"}.mdi-yoga:before{content:"\F01A7"}.mdi-youtube:before{content:"\F5C3"}.mdi-youtube-creator-studio:before{content:"\F846"}.mdi-youtube-gaming:before{content:"\F847"}.mdi-youtube-subscription:before{content:"\FD1C"}.mdi-youtube-tv:before{content:"\F448"}.mdi-z-wave:before{content:"\FAE9"}.mdi-zend:before{content:"\FAEA"}.mdi-zigbee:before{content:"\FD1D"}.mdi-zip-box:before{content:"\F5C4"}.mdi-zip-box-outline:before{content:"\F001B"}.mdi-zip-disk:before{content:"\FA22"}.mdi-zodiac-aquarius:before{content:"\FA7C"}.mdi-zodiac-aries:before{content:"\FA7D"}.mdi-zodiac-cancer:before{content:"\FA7E"}.mdi-zodiac-capricorn:before{content:"\FA7F"}.mdi-zodiac-gemini:before{content:"\FA80"}.mdi-zodiac-leo:before{content:"\FA81"}.mdi-zodiac-libra:before{content:"\FA82"}.mdi-zodiac-pisces:before{content:"\FA83"}.mdi-zodiac-sagittarius:before{content:"\FA84"}.mdi-zodiac-scorpio:before{content:"\FA85"}.mdi-zodiac-taurus:before{content:"\FA86"}.mdi-zodiac-virgo:before{content:"\FA87"}.mdi-blank:before{content:"\F68C";visibility:hidden}.mdi-18px.mdi-set,.mdi-18px.mdi:before{font-size:18px}.mdi-24px.mdi-set,.mdi-24px.mdi:before{font-size:24px}.mdi-36px.mdi-set,.mdi-36px.mdi:before{font-size:36px}.mdi-48px.mdi-set,.mdi-48px.mdi:before{font-size:48px}.mdi-dark:before{color:rgba(0,0,0,.54)}.mdi-dark.mdi-inactive:before{color:rgba(0,0,0,.26)}.mdi-light:before{color:#fff}.mdi-light.mdi-inactive:before{color:hsla(0,0%,100%,.3)}.mdi-rotate-45:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.mdi-rotate-90:before{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.mdi-rotate-135:before{-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}.mdi-rotate-180:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.mdi-rotate-225:before{-webkit-transform:rotate(225deg);-ms-transform:rotate(225deg);transform:rotate(225deg)}.mdi-rotate-270:before{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.mdi-rotate-315:before{-webkit-transform:rotate(315deg);-ms-transform:rotate(315deg);transform:rotate(315deg)}.mdi-flip-h:before{-webkit-transform:scaleX(-1);transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.mdi-flip-v:before{-webkit-transform:scaleY(-1);transform:scaleY(-1);filter:FlipV;-ms-filter:"FlipV"}.mdi-spin:before{-webkit-animation:mdi-spin 2s linear infinite;animation:mdi-spin 2s linear infinite}@-webkit-keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}} \ No newline at end of file diff --git a/x21aStatics/WebContent/rup/js/externals/jasmine/jasmine.js b/x21aStatics/WebContent/rup/js/externals/jasmine/jasmine.js index 88f10f86c..aa7ebdc5d 100644 --- a/x21aStatics/WebContent/rup/js/externals/jasmine/jasmine.js +++ b/x21aStatics/WebContent/rup/js/externals/jasmine/jasmine.js @@ -915,9 +915,9 @@ getJasmineRequireObj().Spec = function(j$) { * @property {String} fullName - The full description including all ancestors of this spec. * @property {String|null} parentSuiteId - The ID of the suite containing this spec, or null if this spec is not in a describe(). * @property {String} filename - The name of the file the spec was defined in. - * @property {Expectation[]} failedExpectations - The list of expectations that failed during execution of this spec. - * @property {Expectation[]} passedExpectations - The list of expectations that passed during execution of this spec. - * @property {Expectation[]} deprecationWarnings - The list of deprecation warnings that occurred during execution this spec. + * @property {ExpectationResult[]} failedExpectations - The list of expectations that failed during execution of this spec. + * @property {ExpectationResult[]} passedExpectations - The list of expectations that passed during execution of this spec. + * @property {ExpectationResult[]} deprecationWarnings - The list of deprecation warnings that occurred during execution this spec. * @property {String} pendingReason - If the spec is {@link pending}, this will be the reason. * @property {String} status - Once the spec has completed, this string represents the pass/fail status of this spec. * @property {number} duration - The time in ms used by the spec execution, including any before/afterEach. @@ -1429,12 +1429,19 @@ getJasmineRequireObj().Env = function(j$) { * @extends Error * @description Represents a failure of an expectation evaluated with * {@link throwUnless}. Properties of this error are a subset of the - * properties of {@link Expectation} and have the same values. + * properties of {@link ExpectationResult} and have the same values. + * + * Note: The expected and actual properties are deprecated and may be removed + * in a future release. In many Jasmine configurations they are passed + * through JSON serialization and deserialization, which is inherently + * lossy. In such cases, the expected and actual values may be placeholders + * or approximations of the original objects. + * * @property {String} matcherName - The name of the matcher that was executed for this expectation. * @property {String} message - The failure message for the expectation. * @property {Boolean} passed - Whether the expectation passed or failed. - * @property {Object} expected - If the expectation failed, what was the expected value. - * @property {Object} actual - If the expectation failed, what actual value was produced. + * @property {Object} expected - Deprecated. If the expectation failed, what was the expected value. + * @property {Object} actual - Deprecated. If the expectation failed, what actual value was produced. */ const error = new Error(result.message); error.passed = result.passed; @@ -2667,13 +2674,21 @@ getJasmineRequireObj().buildExpectationResult = function(j$) { const exceptionFormatter = new j$.ExceptionFormatter(); /** - * @typedef Expectation + * Describes the result of evaluating an expectation + * + * Note: The expected and actual properties are deprecated and may be removed + * in a future release. In many Jasmine configurations they are passed + * through JSON serialization and deserialization, which is inherently + * lossy. In such cases, the expected and actual values may be placeholders + * or approximations of the original objects. + * + * @typedef ExpectationResult * @property {String} matcherName - The name of the matcher that was executed for this expectation. * @property {String} message - The failure message for the expectation. * @property {String} stack - The stack trace for the failure if available. * @property {Boolean} passed - Whether the expectation passed or failed. - * @property {Object} expected - If the expectation failed, what was the expected value. - * @property {Object} actual - If the expectation failed, what actual value was produced. + * @property {Object} expected - Deprecated. If the expectation failed, what was the expected value. + * @property {Object} actual - Deprecated. If the expectation failed, what actual value was produced. * @property {String|undefined} globalErrorType - The type of an error that * is reported on the top suite. Valid values are undefined, "afterAll", * "load", "lateExpectation", and "lateError". @@ -9029,8 +9044,8 @@ getJasmineRequireObj().Runner = function(j$) { * @property {String} incompleteCode - Machine-readable explanation of why the suite was incomplete: 'focused', 'noSpecsFound', or undefined. * @property {Order} order - Information about the ordering (random or not) of this execution of the suite. Note that this property is not present when Jasmine is run in parallel mode. * @property {Int} numWorkers - Number of parallel workers. Note that this property is only present when Jasmine is run in parallel mode. - * @property {Expectation[]} failedExpectations - List of expectations that failed in an {@link afterAll} at the global level. - * @property {Expectation[]} deprecationWarnings - List of deprecation warnings that occurred at the global level. + * @property {ExpectationResult[]} failedExpectations - List of expectations that failed in an {@link afterAll} at the global level. + * @property {ExpectationResult[]} deprecationWarnings - List of deprecation warnings that occurred at the global level. * @since 2.4.0 */ const jasmineDoneInfo = { @@ -9874,9 +9889,7 @@ getJasmineRequireObj().SpyStrategy = function(j$) { getJasmineRequireObj().StackTrace = function(j$) { function StackTrace(error) { - let lines = error.stack.split('\n').filter(function(line) { - return line !== ''; - }); + let lines = error.stack.split('\n'); const extractResult = extractMessage(error.message, lines); @@ -9885,6 +9898,10 @@ getJasmineRequireObj().StackTrace = function(j$) { lines = extractResult.remainder; } + lines = lines.filter(function(line) { + return line !== ''; + }); + const parseResult = tryParseFrames(lines); this.frames = parseResult.frames; this.style = parseResult.style; @@ -10109,8 +10126,8 @@ getJasmineRequireObj().Suite = function(j$) { * @property {String} fullName - The full description including all ancestors of this suite. * @property {String|null} parentSuiteId - The ID of the suite containing this suite, or null if this is not in another describe(). * @property {String} filename - The name of the file the suite was defined in. - * @property {Expectation[]} failedExpectations - The list of expectations that failed in an {@link afterAll} for this suite. - * @property {Expectation[]} deprecationWarnings - The list of deprecation warnings that occurred on this suite. + * @property {ExpectationResult[]} failedExpectations - The list of expectations that failed in an {@link afterAll} for this suite. + * @property {ExpectationResult[]} deprecationWarnings - The list of deprecation warnings that occurred on this suite. * @property {String} status - Once the suite has completed, this string represents the pass/fail status of this suite. * @property {number} duration - The time in ms for Suite execution, including any before/afterAll, before/afterEach. * @property {Object} properties - User-supplied properties, if any, that were set using {@link Env#setSuiteProperty} @@ -10982,5 +10999,5 @@ getJasmineRequireObj().UserContext = function(j$) { }; getJasmineRequireObj().version = function() { - return '5.3.0'; + return '5.4.0'; }; diff --git a/x21aStatics/WebContent/rup/js/rup.js b/x21aStatics/WebContent/rup/js/rup.js index b903c36b5..678b5e782 100644 --- a/x21aStatics/WebContent/rup/js/rup.js +++ b/x21aStatics/WebContent/rup/js/rup.js @@ -204,7 +204,7 @@ eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPAC /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n/*\n * jQuery File Upload Plugin\n * https://github.com/blueimp/jQuery-File-Upload\n *\n * Copyright 2010, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n */\n\n/* jshint nomen:false */\n/* global define, require, window, document, location, Blob, FormData */\n\n;\n(function (factory) {\n 'use strict';\n\n if (true) {\n // Register as an anonymous AMD module:\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"), __webpack_require__(/*! jquery-ui/ui/widget */ \"./node_modules/jquery-ui/ui/widget.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(function ($) {\n 'use strict';\n\n // Detect file input support, based on\n // http://viljamis.com/blog/2012/file-upload-support-on-mobile/\n $.support.fileInput = !(new RegExp(\n // Handle devices which give false positives for the feature detection:\n '(Android (1\\\\.[0156]|2\\\\.[01]))' + '|(Windows Phone (OS 7|8\\\\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)' + '|(w(eb)?OSBrowser)|(webOS)' + '|(Kindle/(1\\\\.0|2\\\\.[05]|3\\\\.0))').test(window.navigator.userAgent) ||\n // Feature detection for all other devices:\n $('').prop('disabled'));\n\n // The FileReader API is not actually used, but works as feature detection,\n // as some Safari versions (5?) support XHR file uploads via the FormData API,\n // but not non-multipart XHR file uploads.\n // window.XMLHttpRequestUpload is not available on IE10, so we check for\n // window.ProgressEvent instead to detect XHR2 file upload capability:\n $.support.xhrFileUpload = !!(window.ProgressEvent && window.FileReader);\n $.support.xhrFormDataFileUpload = !!window.FormData;\n\n // Detect support for Blob slicing (required for chunked uploads):\n $.support.blobSlice = window.Blob && (Blob.prototype.slice || Blob.prototype.webkitSlice || Blob.prototype.mozSlice);\n\n // Helper function to create drag handlers for dragover/dragenter/dragleave:\n function getDragHandler(type) {\n var isDragOver = type === 'dragover';\n return function (e) {\n e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer;\n var dataTransfer = e.dataTransfer;\n if (dataTransfer && $.inArray('Files', dataTransfer.types) !== -1 && this._trigger(type, $.Event(type, {\n delegatedEvent: e\n })) !== false) {\n e.preventDefault();\n if (isDragOver) {\n dataTransfer.dropEffect = 'copy';\n }\n }\n };\n }\n\n // The fileupload widget listens for change events on file input fields defined\n // via fileInput setting and paste or drop events of the given dropZone.\n // In addition to the default jQuery Widget methods, the fileupload widget\n // exposes the \"add\" and \"send\" methods, to add or directly send files using\n // the fileupload API.\n // By default, files added via file input selection, paste, drag & drop or\n // \"add\" method are uploaded immediately, but it is possible to override\n // the \"add\" callback option to queue file uploads.\n $.widget('blueimp.fileupload', {\n options: {\n // The drop target element(s), by the default the complete document.\n // Set to null to disable drag & drop support:\n dropZone: $(document),\n // The paste target element(s), by the default undefined.\n // Set to a DOM node or jQuery object to enable file pasting:\n pasteZone: undefined,\n // The file input field(s), that are listened to for change events.\n // If undefined, it is set to the file input fields inside\n // of the widget element on plugin initialization.\n // Set to null to disable the change listener.\n fileInput: undefined,\n // By default, the file input field is replaced with a clone after\n // each input field change event. This is required for iframe transport\n // queues and allows change events to be fired for the same file\n // selection, but can be disabled by setting the following option to false:\n replaceFileInput: true,\n // The parameter name for the file form data (the request argument name).\n // If undefined or empty, the name property of the file input field is\n // used, or \"files[]\" if the file input name property is also empty,\n // can be a string or an array of strings:\n paramName: undefined,\n // By default, each file of a selection is uploaded using an individual\n // request for XHR type uploads. Set to false to upload file\n // selections in one request each:\n singleFileUploads: true,\n // To limit the number of files uploaded with one XHR request,\n // set the following option to an integer greater than 0:\n limitMultiFileUploads: undefined,\n // The following option limits the number of files uploaded with one\n // XHR request to keep the request size under or equal to the defined\n // limit in bytes:\n limitMultiFileUploadSize: undefined,\n // Multipart file uploads add a number of bytes to each uploaded file,\n // therefore the following option adds an overhead for each file used\n // in the limitMultiFileUploadSize configuration:\n limitMultiFileUploadSizeOverhead: 512,\n // Set the following option to true to issue all file upload requests\n // in a sequential order:\n sequentialUploads: false,\n // To limit the number of concurrent uploads,\n // set the following option to an integer greater than 0:\n limitConcurrentUploads: undefined,\n // Set the following option to true to force iframe transport uploads:\n forceIframeTransport: false,\n // Set the following option to the location of a redirect url on the\n // origin server, for cross-domain iframe transport uploads:\n redirect: undefined,\n // The parameter name for the redirect url, sent as part of the form\n // data and set to 'redirect' if this option is empty:\n redirectParamName: undefined,\n // Set the following option to the location of a postMessage window,\n // to enable postMessage transport uploads:\n postMessage: undefined,\n // By default, XHR file uploads are sent as multipart/form-data.\n // The iframe transport is always using multipart/form-data.\n // Set to false to enable non-multipart XHR uploads:\n multipart: true,\n // To upload large files in smaller chunks, set the following option\n // to a preferred maximum chunk size. If set to 0, null or undefined,\n // or the browser does not support the required Blob API, files will\n // be uploaded as a whole.\n maxChunkSize: undefined,\n // When a non-multipart upload or a chunked multipart upload has been\n // aborted, this option can be used to resume the upload by setting\n // it to the size of the already uploaded bytes. This option is most\n // useful when modifying the options object inside of the \"add\" or\n // \"send\" callbacks, as the options are cloned for each file upload.\n uploadedBytes: undefined,\n // By default, failed (abort or error) file uploads are removed from the\n // global progress calculation. Set the following option to false to\n // prevent recalculating the global progress data:\n recalculateProgress: true,\n // Interval in milliseconds to calculate and trigger progress events:\n progressInterval: 100,\n // Interval in milliseconds to calculate progress bitrate:\n bitrateInterval: 500,\n // By default, uploads are started automatically when adding files:\n autoUpload: true,\n // By default, duplicate file names are expected to be handled on\n // the server-side. If this is not possible (e.g. when uploading\n // files directly to Amazon S3), the following option can be set to\n // an empty object or an object mapping existing filenames, e.g.:\n // { \"image.jpg\": true, \"image (1).jpg\": true }\n // If it is set, all files will be uploaded with unique filenames,\n // adding increasing number suffixes if necessary, e.g.:\n // \"image (2).jpg\"\n uniqueFilenames: undefined,\n // Error and info messages:\n messages: {\n uploadedBytes: 'Uploaded bytes exceed file size'\n },\n // Translation function, gets the message key to be translated\n // and an object with context specific data as arguments:\n i18n: function i18n(message, context) {\n message = this.messages[message] || message.toString();\n if (context) {\n $.each(context, function (key, value) {\n message = message.replace('{' + key + '}', value);\n });\n }\n return message;\n },\n // Additional form data to be sent along with the file uploads can be set\n // using this option, which accepts an array of objects with name and\n // value properties, a function returning such an array, a FormData\n // object (for XHR file uploads), or a simple object.\n // The form of the first fileInput is given as parameter to the function:\n formData: function formData(form) {\n return form.serializeArray();\n },\n // The add callback is invoked as soon as files are added to the fileupload\n // widget (via file input selection, drag & drop, paste or add API call).\n // If the singleFileUploads option is enabled, this callback will be\n // called once for each file in the selection for XHR file uploads, else\n // once for each file selection.\n //\n // The upload starts when the submit method is invoked on the data parameter.\n // The data object contains a files property holding the added files\n // and allows you to override plugin options as well as define ajax settings.\n //\n // Listeners for this callback can also be bound the following way:\n // .bind('fileuploadadd', func);\n //\n // data.submit() returns a Promise object and allows to attach additional\n // handlers using jQuery's Deferred callbacks:\n // data.submit().done(func).fail(func).always(func);\n add: function add(e, data) {\n if (e.isDefaultPrevented()) {\n return false;\n }\n if (data.autoUpload || data.autoUpload !== false && $(this).fileupload('option', 'autoUpload')) {\n data.process().done(function () {\n data.submit();\n });\n }\n },\n // Other callbacks:\n\n // Callback for the submit event of each file upload:\n // submit: function (e, data) {}, // .bind('fileuploadsubmit', func);\n\n // Callback for the start of each file upload request:\n // send: function (e, data) {}, // .bind('fileuploadsend', func);\n\n // Callback for successful uploads:\n // done: function (e, data) {}, // .bind('fileuploaddone', func);\n\n // Callback for failed (abort or error) uploads:\n // fail: function (e, data) {}, // .bind('fileuploadfail', func);\n\n // Callback for completed (success, abort or error) requests:\n // always: function (e, data) {}, // .bind('fileuploadalways', func);\n\n // Callback for upload progress events:\n // progress: function (e, data) {}, // .bind('fileuploadprogress', func);\n\n // Callback for global upload progress events:\n // progressall: function (e, data) {}, // .bind('fileuploadprogressall', func);\n\n // Callback for uploads start, equivalent to the global ajaxStart event:\n // start: function (e) {}, // .bind('fileuploadstart', func);\n\n // Callback for uploads stop, equivalent to the global ajaxStop event:\n // stop: function (e) {}, // .bind('fileuploadstop', func);\n\n // Callback for change events of the fileInput(s):\n // change: function (e, data) {}, // .bind('fileuploadchange', func);\n\n // Callback for paste events to the pasteZone(s):\n // paste: function (e, data) {}, // .bind('fileuploadpaste', func);\n\n // Callback for drop events of the dropZone(s):\n // drop: function (e, data) {}, // .bind('fileuploaddrop', func);\n\n // Callback for dragover events of the dropZone(s):\n // dragover: function (e) {}, // .bind('fileuploaddragover', func);\n\n // Callback before the start of each chunk upload request (before form data initialization):\n // chunkbeforesend: function (e, data) {}, // .bind('fileuploadchunkbeforesend', func);\n\n // Callback for the start of each chunk upload request:\n // chunksend: function (e, data) {}, // .bind('fileuploadchunksend', func);\n\n // Callback for successful chunk uploads:\n // chunkdone: function (e, data) {}, // .bind('fileuploadchunkdone', func);\n\n // Callback for failed (abort or error) chunk uploads:\n // chunkfail: function (e, data) {}, // .bind('fileuploadchunkfail', func);\n\n // Callback for completed (success, abort or error) chunk upload requests:\n // chunkalways: function (e, data) {}, // .bind('fileuploadchunkalways', func);\n\n // The plugin options are used as settings object for the ajax calls.\n // The following are jQuery ajax settings required for the file uploads:\n processData: false,\n contentType: false,\n cache: false,\n timeout: 0\n },\n // A list of options that require reinitializing event listeners and/or\n // special initialization code:\n _specialOptions: ['fileInput', 'dropZone', 'pasteZone', 'multipart', 'forceIframeTransport'],\n _blobSlice: $.support.blobSlice && function () {\n var slice = this.slice || this.webkitSlice || this.mozSlice;\n return slice.apply(this, arguments);\n },\n _BitrateTimer: function _BitrateTimer() {\n this.timestamp = Date.now ? Date.now() : new Date().getTime();\n this.loaded = 0;\n this.bitrate = 0;\n this.getBitrate = function (now, loaded, interval) {\n var timeDiff = now - this.timestamp;\n if (!this.bitrate || !interval || timeDiff > interval) {\n this.bitrate = (loaded - this.loaded) * (1000 / timeDiff) * 8;\n this.loaded = loaded;\n this.timestamp = now;\n }\n return this.bitrate;\n };\n },\n _isXHRUpload: function _isXHRUpload(options) {\n return !options.forceIframeTransport && (!options.multipart && $.support.xhrFileUpload || $.support.xhrFormDataFileUpload);\n },\n _getFormData: function _getFormData(options) {\n var formData;\n if ($.type(options.formData) === 'function') {\n return options.formData(options.form);\n }\n if ($.isArray(options.formData)) {\n return options.formData;\n }\n if ($.type(options.formData) === 'object') {\n formData = [];\n $.each(options.formData, function (name, value) {\n formData.push({\n name: name,\n value: value\n });\n });\n return formData;\n }\n return [];\n },\n _getTotal: function _getTotal(files) {\n var total = 0;\n $.each(files, function (index, file) {\n total += file.size || 1;\n });\n return total;\n },\n _initProgressObject: function _initProgressObject(obj) {\n var progress = {\n loaded: 0,\n total: 0,\n bitrate: 0\n };\n if (obj._progress) {\n $.extend(obj._progress, progress);\n } else {\n obj._progress = progress;\n }\n },\n _initResponseObject: function _initResponseObject(obj) {\n var prop;\n if (obj._response) {\n for (prop in obj._response) {\n if (obj._response.hasOwnProperty(prop)) {\n delete obj._response[prop];\n }\n }\n } else {\n obj._response = {};\n }\n },\n _onProgress: function _onProgress(e, data) {\n if (e.lengthComputable) {\n var now = Date.now ? Date.now() : new Date().getTime(),\n loaded;\n if (data._time && data.progressInterval && now - data._time < data.progressInterval && e.loaded !== e.total) {\n return;\n }\n data._time = now;\n loaded = Math.floor(e.loaded / e.total * (data.chunkSize || data._progress.total)) + (data.uploadedBytes || 0);\n // Add the difference from the previously loaded state\n // to the global loaded counter:\n this._progress.loaded += loaded - data._progress.loaded;\n this._progress.bitrate = this._bitrateTimer.getBitrate(now, this._progress.loaded, data.bitrateInterval);\n data._progress.loaded = data.loaded = loaded;\n data._progress.bitrate = data.bitrate = data._bitrateTimer.getBitrate(now, loaded, data.bitrateInterval);\n // Trigger a custom progress event with a total data property set\n // to the file size(s) of the current upload and a loaded data\n // property calculated accordingly:\n this._trigger('progress', $.Event('progress', {\n delegatedEvent: e\n }), data);\n // Trigger a global progress event for all current file uploads,\n // including ajax calls queued for sequential file uploads:\n this._trigger('progressall', $.Event('progressall', {\n delegatedEvent: e\n }), this._progress);\n }\n },\n _initProgressListener: function _initProgressListener(options) {\n var that = this,\n xhr = options.xhr ? options.xhr() : $.ajaxSettings.xhr();\n // Accesss to the native XHR object is required to add event listeners\n // for the upload progress event:\n if (xhr.upload) {\n $(xhr.upload).bind('progress', function (e) {\n var oe = e.originalEvent;\n // Make sure the progress event properties get copied over:\n e.lengthComputable = oe.lengthComputable;\n e.loaded = oe.loaded;\n e.total = oe.total;\n that._onProgress(e, options);\n });\n options.xhr = function () {\n return xhr;\n };\n }\n },\n _deinitProgressListener: function _deinitProgressListener(options) {\n var xhr = options.xhr ? options.xhr() : $.ajaxSettings.xhr();\n if (xhr.upload) {\n $(xhr.upload).unbind('progress');\n }\n },\n _isInstanceOf: function _isInstanceOf(type, obj) {\n // Cross-frame instanceof check\n return Object.prototype.toString.call(obj) === '[object ' + type + ']';\n },\n _getUniqueFilename: function _getUniqueFilename(name, map) {\n name = String(name);\n if (map[name]) {\n name = name.replace(/(?: \\(([\\d]+)\\))?(\\.[^.]+)?$/, function (_, p1, p2) {\n var index = p1 ? Number(p1) + 1 : 1;\n var ext = p2 || '';\n return ' (' + index + ')' + ext;\n });\n return this._getUniqueFilename(name, map);\n }\n map[name] = true;\n return name;\n },\n _initXHRData: function _initXHRData(options) {\n var that = this,\n formData,\n file = options.files[0],\n // Ignore non-multipart setting if not supported:\n multipart = options.multipart || !$.support.xhrFileUpload,\n paramName = $.type(options.paramName) === 'array' ? options.paramName[0] : options.paramName;\n options.headers = $.extend({}, options.headers);\n if (options.contentRange) {\n options.headers['Content-Range'] = options.contentRange;\n }\n if (!multipart || options.blob || !this._isInstanceOf('File', file)) {\n options.headers['Content-Disposition'] = 'attachment; filename=\"' + encodeURI(file.uploadName || file.name) + '\"';\n }\n if (!multipart) {\n options.contentType = file.type || 'application/octet-stream';\n options.data = options.blob || file;\n } else if ($.support.xhrFormDataFileUpload) {\n if (options.postMessage) {\n // window.postMessage does not allow sending FormData\n // objects, so we just add the File/Blob objects to\n // the formData array and let the postMessage window\n // create the FormData object out of this array:\n formData = this._getFormData(options);\n if (options.blob) {\n formData.push({\n name: paramName,\n value: options.blob\n });\n } else {\n $.each(options.files, function (index, file) {\n formData.push({\n name: $.type(options.paramName) === 'array' && options.paramName[index] || paramName,\n value: file\n });\n });\n }\n } else {\n if (that._isInstanceOf('FormData', options.formData)) {\n formData = options.formData;\n } else {\n formData = new FormData();\n $.each(this._getFormData(options), function (index, field) {\n formData.append(field.name, field.value);\n });\n }\n if (options.blob) {\n formData.append(paramName, options.blob, file.uploadName || file.name);\n } else {\n $.each(options.files, function (index, file) {\n // This check allows the tests to run with\n // dummy objects:\n if (that._isInstanceOf('File', file) || that._isInstanceOf('Blob', file)) {\n var fileName = file.uploadName || file.name;\n if (options.uniqueFilenames) {\n fileName = that._getUniqueFilename(fileName, options.uniqueFilenames);\n }\n formData.append($.type(options.paramName) === 'array' && options.paramName[index] || paramName, file, fileName);\n }\n });\n }\n }\n options.data = formData;\n }\n // Blob reference is not needed anymore, free memory:\n options.blob = null;\n },\n _initIframeSettings: function _initIframeSettings(options) {\n var targetHost = $('').prop('href', options.url).prop('host');\n // Setting the dataType to iframe enables the iframe transport:\n options.dataType = 'iframe ' + (options.dataType || '');\n // The iframe transport accepts a serialized array as form data:\n options.formData = this._getFormData(options);\n // Add redirect url to form data on cross-domain uploads:\n if (options.redirect && targetHost && targetHost !== location.host) {\n options.formData.push({\n name: options.redirectParamName || 'redirect',\n value: options.redirect\n });\n }\n },\n _initDataSettings: function _initDataSettings(options) {\n if (this._isXHRUpload(options)) {\n if (!this._chunkedUpload(options, true)) {\n if (!options.data) {\n this._initXHRData(options);\n }\n this._initProgressListener(options);\n }\n if (options.postMessage) {\n // Setting the dataType to postmessage enables the\n // postMessage transport:\n options.dataType = 'postmessage ' + (options.dataType || '');\n }\n } else {\n this._initIframeSettings(options);\n }\n },\n _getParamName: function _getParamName(options) {\n var fileInput = $(options.fileInput),\n paramName = options.paramName;\n if (!paramName) {\n paramName = [];\n fileInput.each(function () {\n var input = $(this),\n name = input.prop('name') || 'files[]',\n i = (input.prop('files') || [1]).length;\n while (i) {\n paramName.push(name);\n i -= 1;\n }\n });\n if (!paramName.length) {\n paramName = [fileInput.prop('name') || 'files[]'];\n }\n } else if (!$.isArray(paramName)) {\n paramName = [paramName];\n }\n return paramName;\n },\n _initFormSettings: function _initFormSettings(options) {\n // Retrieve missing options from the input field and the\n // associated form, if available:\n if (!options.form || !options.form.length) {\n options.form = $(options.fileInput.prop('form'));\n // If the given file input doesn't have an associated form,\n // use the default widget file input's form:\n if (!options.form.length) {\n options.form = $(this.options.fileInput.prop('form'));\n }\n }\n options.paramName = this._getParamName(options);\n if (!options.url) {\n options.url = options.form.prop('action') || location.href;\n }\n // The HTTP request method must be \"POST\" or \"PUT\":\n options.type = (options.type || $.type(options.form.prop('method')) === 'string' && options.form.prop('method') || '').toUpperCase();\n if (options.type !== 'POST' && options.type !== 'PUT' && options.type !== 'PATCH') {\n options.type = 'POST';\n }\n if (!options.formAcceptCharset) {\n options.formAcceptCharset = options.form.attr('accept-charset');\n }\n },\n _getAJAXSettings: function _getAJAXSettings(data) {\n var options = $.extend({}, this.options, data);\n this._initFormSettings(options);\n this._initDataSettings(options);\n return options;\n },\n // jQuery 1.6 doesn't provide .state(),\n // while jQuery 1.8+ removed .isRejected() and .isResolved():\n _getDeferredState: function _getDeferredState(deferred) {\n if (deferred.state) {\n return deferred.state();\n }\n if (deferred.isResolved()) {\n return 'resolved';\n }\n if (deferred.isRejected()) {\n return 'rejected';\n }\n return 'pending';\n },\n // Maps jqXHR callbacks to the equivalent\n // methods of the given Promise object:\n _enhancePromise: function _enhancePromise(promise) {\n promise.success = promise.done;\n promise.error = promise.fail;\n promise.complete = promise.always;\n return promise;\n },\n // Creates and returns a Promise object enhanced with\n // the jqXHR methods abort, success, error and complete:\n _getXHRPromise: function _getXHRPromise(resolveOrReject, context, args) {\n var dfd = $.Deferred(),\n promise = dfd.promise();\n context = context || this.options.context || promise;\n if (resolveOrReject === true) {\n dfd.resolveWith(context, args);\n } else if (resolveOrReject === false) {\n dfd.rejectWith(context, args);\n }\n promise.abort = dfd.promise;\n return this._enhancePromise(promise);\n },\n // Adds convenience methods to the data callback argument:\n _addConvenienceMethods: function _addConvenienceMethods(e, data) {\n var that = this,\n getPromise = function getPromise(args) {\n return $.Deferred().resolveWith(that, args).promise();\n };\n data.process = function (resolveFunc, rejectFunc) {\n if (resolveFunc || rejectFunc) {\n data._processQueue = this._processQueue = (this._processQueue || getPromise([this])).then(function () {\n if (data.errorThrown) {\n return $.Deferred().rejectWith(that, [data]).promise();\n }\n return getPromise(arguments);\n }).then(resolveFunc, rejectFunc);\n }\n return this._processQueue || getPromise([this]);\n };\n data.submit = function () {\n if (this.state() !== 'pending') {\n data.jqXHR = this.jqXHR = that._trigger('submit', $.Event('submit', {\n delegatedEvent: e\n }), this) !== false && that._onSend(e, this);\n }\n return this.jqXHR || that._getXHRPromise();\n };\n data.abort = function () {\n if (this.jqXHR) {\n return this.jqXHR.abort();\n }\n this.errorThrown = 'abort';\n that._trigger('fail', null, this);\n return that._getXHRPromise(false);\n };\n data.state = function () {\n if (this.jqXHR) {\n return that._getDeferredState(this.jqXHR);\n }\n if (this._processQueue) {\n return that._getDeferredState(this._processQueue);\n }\n };\n data.processing = function () {\n return !this.jqXHR && this._processQueue && that._getDeferredState(this._processQueue) === 'pending';\n };\n data.progress = function () {\n return this._progress;\n };\n data.response = function () {\n return this._response;\n };\n },\n // Parses the Range header from the server response\n // and returns the uploaded bytes:\n _getUploadedBytes: function _getUploadedBytes(jqXHR) {\n var range = jqXHR.getResponseHeader('Range'),\n parts = range && range.split('-'),\n upperBytesPos = parts && parts.length > 1 && parseInt(parts[1], 10);\n return upperBytesPos && upperBytesPos + 1;\n },\n // Uploads a file in multiple, sequential requests\n // by splitting the file up in multiple blob chunks.\n // If the second parameter is true, only tests if the file\n // should be uploaded in chunks, but does not invoke any\n // upload requests:\n _chunkedUpload: function _chunkedUpload(options, testOnly) {\n options.uploadedBytes = options.uploadedBytes || 0;\n var that = this,\n file = options.files[0],\n fs = file.size,\n ub = options.uploadedBytes,\n mcs = options.maxChunkSize || fs,\n slice = this._blobSlice,\n dfd = $.Deferred(),\n promise = dfd.promise(),\n jqXHR,\n _upload;\n if (!(this._isXHRUpload(options) && slice && (ub || ($.type(mcs) === 'function' ? mcs(options) : mcs) < fs)) || options.data) {\n return false;\n }\n if (testOnly) {\n return true;\n }\n if (ub >= fs) {\n file.error = options.i18n('uploadedBytes');\n return this._getXHRPromise(false, options.context, [null, 'error', file.error]);\n }\n // The chunk upload method:\n _upload = function upload() {\n // Clone the options object for each chunk upload:\n var o = $.extend({}, options),\n currentLoaded = o._progress.loaded;\n o.blob = slice.call(file, ub, ub + ($.type(mcs) === 'function' ? mcs(o) : mcs), file.type);\n // Store the current chunk size, as the blob itself\n // will be dereferenced after data processing:\n o.chunkSize = o.blob.size;\n // Expose the chunk bytes position range:\n o.contentRange = 'bytes ' + ub + '-' + (ub + o.chunkSize - 1) + '/' + fs;\n // Trigger chunkbeforesend to allow form data to be updated for this chunk\n that._trigger('chunkbeforesend', null, o);\n // Process the upload data (the blob and potential form data):\n that._initXHRData(o);\n // Add progress listeners for this chunk upload:\n that._initProgressListener(o);\n jqXHR = (that._trigger('chunksend', null, o) !== false && $.ajax(o) || that._getXHRPromise(false, o.context)).done(function (result, textStatus, jqXHR) {\n ub = that._getUploadedBytes(jqXHR) || ub + o.chunkSize;\n // Create a progress event if no final progress event\n // with loaded equaling total has been triggered\n // for this chunk:\n if (currentLoaded + o.chunkSize - o._progress.loaded) {\n that._onProgress($.Event('progress', {\n lengthComputable: true,\n loaded: ub - o.uploadedBytes,\n total: ub - o.uploadedBytes\n }), o);\n }\n options.uploadedBytes = o.uploadedBytes = ub;\n o.result = result;\n o.textStatus = textStatus;\n o.jqXHR = jqXHR;\n that._trigger('chunkdone', null, o);\n that._trigger('chunkalways', null, o);\n if (ub < fs) {\n // File upload not yet complete,\n // continue with the next chunk:\n _upload();\n } else {\n dfd.resolveWith(o.context, [result, textStatus, jqXHR]);\n }\n }).fail(function (jqXHR, textStatus, errorThrown) {\n o.jqXHR = jqXHR;\n o.textStatus = textStatus;\n o.errorThrown = errorThrown;\n that._trigger('chunkfail', null, o);\n that._trigger('chunkalways', null, o);\n dfd.rejectWith(o.context, [jqXHR, textStatus, errorThrown]);\n }).always(function () {\n that._deinitProgressListener(o);\n });\n };\n this._enhancePromise(promise);\n promise.abort = function () {\n return jqXHR.abort();\n };\n _upload();\n return promise;\n },\n _beforeSend: function _beforeSend(e, data) {\n if (this._active === 0) {\n // the start callback is triggered when an upload starts\n // and no other uploads are currently running,\n // equivalent to the global ajaxStart event:\n this._trigger('start');\n // Set timer for global bitrate progress calculation:\n this._bitrateTimer = new this._BitrateTimer();\n // Reset the global progress values:\n this._progress.loaded = this._progress.total = 0;\n this._progress.bitrate = 0;\n }\n // Make sure the container objects for the .response() and\n // .progress() methods on the data object are available\n // and reset to their initial state:\n this._initResponseObject(data);\n this._initProgressObject(data);\n data._progress.loaded = data.loaded = data.uploadedBytes || 0;\n data._progress.total = data.total = this._getTotal(data.files) || 1;\n data._progress.bitrate = data.bitrate = 0;\n this._active += 1;\n // Initialize the global progress values:\n this._progress.loaded += data.loaded;\n this._progress.total += data.total;\n },\n _onDone: function _onDone(result, textStatus, jqXHR, options) {\n var total = options._progress.total,\n response = options._response;\n if (options._progress.loaded < total) {\n // Create a progress event if no final progress event\n // with loaded equaling total has been triggered:\n this._onProgress($.Event('progress', {\n lengthComputable: true,\n loaded: total,\n total: total\n }), options);\n }\n response.result = options.result = result;\n response.textStatus = options.textStatus = textStatus;\n response.jqXHR = options.jqXHR = jqXHR;\n this._trigger('done', null, options);\n },\n _onFail: function _onFail(jqXHR, textStatus, errorThrown, options) {\n var response = options._response;\n if (options.recalculateProgress) {\n // Remove the failed (error or abort) file upload from\n // the global progress calculation:\n this._progress.loaded -= options._progress.loaded;\n this._progress.total -= options._progress.total;\n }\n response.jqXHR = options.jqXHR = jqXHR;\n response.textStatus = options.textStatus = textStatus;\n response.errorThrown = options.errorThrown = errorThrown;\n this._trigger('fail', null, options);\n },\n _onAlways: function _onAlways(jqXHRorResult, textStatus, jqXHRorError, options) {\n // jqXHRorResult, textStatus and jqXHRorError are added to the\n // options object via done and fail callbacks\n this._trigger('always', null, options);\n },\n _onSend: function _onSend(e, data) {\n if (!data.submit) {\n this._addConvenienceMethods(e, data);\n }\n var that = this,\n jqXHR,\n aborted,\n slot,\n pipe,\n options = that._getAJAXSettings(data),\n send = function send() {\n that._sending += 1;\n // Set timer for bitrate progress calculation:\n options._bitrateTimer = new that._BitrateTimer();\n jqXHR = jqXHR || ((aborted || that._trigger('send', $.Event('send', {\n delegatedEvent: e\n }), options) === false) && that._getXHRPromise(false, options.context, aborted) || that._chunkedUpload(options) || $.ajax(options)).done(function (result, textStatus, jqXHR) {\n that._onDone(result, textStatus, jqXHR, options);\n }).fail(function (jqXHR, textStatus, errorThrown) {\n that._onFail(jqXHR, textStatus, errorThrown, options);\n }).always(function (jqXHRorResult, textStatus, jqXHRorError) {\n that._deinitProgressListener(options);\n that._onAlways(jqXHRorResult, textStatus, jqXHRorError, options);\n that._sending -= 1;\n that._active -= 1;\n if (options.limitConcurrentUploads && options.limitConcurrentUploads > that._sending) {\n // Start the next queued upload,\n // that has not been aborted:\n var nextSlot = that._slots.shift();\n while (nextSlot) {\n if (that._getDeferredState(nextSlot) === 'pending') {\n nextSlot.resolve();\n break;\n }\n nextSlot = that._slots.shift();\n }\n }\n if (that._active === 0) {\n // The stop callback is triggered when all uploads have\n // been completed, equivalent to the global ajaxStop event:\n that._trigger('stop');\n }\n });\n return jqXHR;\n };\n this._beforeSend(e, options);\n if (this.options.sequentialUploads || this.options.limitConcurrentUploads && this.options.limitConcurrentUploads <= this._sending) {\n if (this.options.limitConcurrentUploads > 1) {\n slot = $.Deferred();\n this._slots.push(slot);\n pipe = slot.then(send);\n } else {\n this._sequence = this._sequence.then(send, send);\n pipe = this._sequence;\n }\n // Return the piped Promise object, enhanced with an abort method,\n // which is delegated to the jqXHR object of the current upload,\n // and jqXHR callbacks mapped to the equivalent Promise methods:\n pipe.abort = function () {\n aborted = [undefined, 'abort', 'abort'];\n if (!jqXHR) {\n if (slot) {\n slot.rejectWith(options.context, aborted);\n }\n return send();\n }\n return jqXHR.abort();\n };\n return this._enhancePromise(pipe);\n }\n return send();\n },\n _onAdd: function _onAdd(e, data) {\n var that = this,\n result = true,\n options = $.extend({}, this.options, data),\n files = data.files,\n filesLength = files.length,\n limit = options.limitMultiFileUploads,\n limitSize = options.limitMultiFileUploadSize,\n overhead = options.limitMultiFileUploadSizeOverhead,\n batchSize = 0,\n paramName = this._getParamName(options),\n paramNameSet,\n paramNameSlice,\n fileSet,\n i,\n j = 0;\n if (!filesLength) {\n return false;\n }\n if (limitSize && files[0].size === undefined) {\n limitSize = undefined;\n }\n if (!(options.singleFileUploads || limit || limitSize) || !this._isXHRUpload(options)) {\n fileSet = [files];\n paramNameSet = [paramName];\n } else if (!(options.singleFileUploads || limitSize) && limit) {\n fileSet = [];\n paramNameSet = [];\n for (i = 0; i < filesLength; i += limit) {\n fileSet.push(files.slice(i, i + limit));\n paramNameSlice = paramName.slice(i, i + limit);\n if (!paramNameSlice.length) {\n paramNameSlice = paramName;\n }\n paramNameSet.push(paramNameSlice);\n }\n } else if (!options.singleFileUploads && limitSize) {\n fileSet = [];\n paramNameSet = [];\n for (i = 0; i < filesLength; i = i + 1) {\n batchSize += files[i].size + overhead;\n if (i + 1 === filesLength || batchSize + files[i + 1].size + overhead > limitSize || limit && i + 1 - j >= limit) {\n fileSet.push(files.slice(j, i + 1));\n paramNameSlice = paramName.slice(j, i + 1);\n if (!paramNameSlice.length) {\n paramNameSlice = paramName;\n }\n paramNameSet.push(paramNameSlice);\n j = i + 1;\n batchSize = 0;\n }\n }\n } else {\n paramNameSet = paramName;\n }\n data.originalFiles = files;\n $.each(fileSet || files, function (index, element) {\n var newData = $.extend({}, data);\n newData.files = fileSet ? element : [element];\n newData.paramName = paramNameSet[index];\n that._initResponseObject(newData);\n that._initProgressObject(newData);\n that._addConvenienceMethods(e, newData);\n result = that._trigger('add', $.Event('add', {\n delegatedEvent: e\n }), newData);\n return result;\n });\n return result;\n },\n _replaceFileInput: function _replaceFileInput(data) {\n var input = data.fileInput,\n inputClone = input.clone(true),\n restoreFocus = input.is(document.activeElement);\n // Add a reference for the new cloned file input to the data argument:\n data.fileInputClone = inputClone;\n $('
').append(inputClone)[0].reset();\n // Detaching allows to insert the fileInput on another form\n // without loosing the file input value:\n input.after(inputClone).detach();\n // If the fileInput had focus before it was detached,\n // restore focus to the inputClone.\n if (restoreFocus) {\n inputClone.focus();\n }\n // Avoid memory leaks with the detached file input:\n $.cleanData(input.unbind('remove'));\n // Replace the original file input element in the fileInput\n // elements set with the clone, which has been copied including\n // event handlers:\n this.options.fileInput = this.options.fileInput.map(function (i, el) {\n if (el === input[0]) {\n return inputClone[0];\n }\n return el;\n });\n // If the widget has been initialized on the file input itself,\n // override this.element with the file input clone:\n if (input[0] === this.element[0]) {\n this.element = inputClone;\n }\n },\n _handleFileTreeEntry: function _handleFileTreeEntry(entry, path) {\n var that = this,\n dfd = $.Deferred(),\n entries = [],\n dirReader,\n errorHandler = function errorHandler(e) {\n if (e && !e.entry) {\n e.entry = entry;\n }\n // Since $.when returns immediately if one\n // Deferred is rejected, we use resolve instead.\n // This allows valid files and invalid items\n // to be returned together in one set:\n dfd.resolve([e]);\n },\n successHandler = function successHandler(entries) {\n that._handleFileTreeEntries(entries, path + entry.name + '/').done(function (files) {\n dfd.resolve(files);\n }).fail(errorHandler);\n },\n readEntries = function readEntries() {\n dirReader.readEntries(function (results) {\n if (!results.length) {\n successHandler(entries);\n } else {\n entries = entries.concat(results);\n readEntries();\n }\n }, errorHandler);\n };\n path = path || '';\n if (entry.isFile) {\n if (entry._file) {\n // Workaround for Chrome bug #149735\n entry._file.relativePath = path;\n dfd.resolve(entry._file);\n } else {\n entry.file(function (file) {\n file.relativePath = path;\n dfd.resolve(file);\n }, errorHandler);\n }\n } else if (entry.isDirectory) {\n dirReader = entry.createReader();\n readEntries();\n } else {\n // Return an empty list for file system items\n // other than files or directories:\n dfd.resolve([]);\n }\n return dfd.promise();\n },\n _handleFileTreeEntries: function _handleFileTreeEntries(entries, path) {\n var that = this;\n return $.when.apply($, $.map(entries, function (entry) {\n return that._handleFileTreeEntry(entry, path);\n })).then(function () {\n return Array.prototype.concat.apply([], arguments);\n });\n },\n _getDroppedFiles: function _getDroppedFiles(dataTransfer) {\n dataTransfer = dataTransfer || {};\n var items = dataTransfer.items;\n if (items && items.length && (items[0].webkitGetAsEntry || items[0].getAsEntry)) {\n return this._handleFileTreeEntries($.map(items, function (item) {\n var entry;\n if (item.webkitGetAsEntry) {\n entry = item.webkitGetAsEntry();\n if (entry) {\n // Workaround for Chrome bug #149735:\n entry._file = item.getAsFile();\n }\n return entry;\n }\n return item.getAsEntry();\n }));\n }\n return $.Deferred().resolve($.makeArray(dataTransfer.files)).promise();\n },\n _getSingleFileInputFiles: function _getSingleFileInputFiles(fileInput) {\n fileInput = $(fileInput);\n var entries = fileInput.prop('webkitEntries') || fileInput.prop('entries'),\n files,\n value;\n if (entries && entries.length) {\n return this._handleFileTreeEntries(entries);\n }\n files = $.makeArray(fileInput.prop('files'));\n if (!files.length) {\n value = fileInput.prop('value');\n if (!value) {\n return $.Deferred().resolve([]).promise();\n }\n // If the files property is not available, the browser does not\n // support the File API and we add a pseudo File object with\n // the input value as name with path information removed:\n files = [{\n name: value.replace(/^.*\\\\/, '')\n }];\n } else if (files[0].name === undefined && files[0].fileName) {\n // File normalization for Safari 4 and Firefox 3:\n $.each(files, function (index, file) {\n file.name = file.fileName;\n file.size = file.fileSize;\n });\n }\n return $.Deferred().resolve(files).promise();\n },\n _getFileInputFiles: function _getFileInputFiles(fileInput) {\n if (!(fileInput instanceof $) || fileInput.length === 1) {\n return this._getSingleFileInputFiles(fileInput);\n }\n return $.when.apply($, $.map(fileInput, this._getSingleFileInputFiles)).then(function () {\n return Array.prototype.concat.apply([], arguments);\n });\n },\n _onChange: function _onChange(e) {\n var that = this,\n data = {\n fileInput: $(e.target),\n form: $(e.target.form)\n };\n this._getFileInputFiles(data.fileInput).always(function (files) {\n data.files = files;\n if (that.options.replaceFileInput) {\n that._replaceFileInput(data);\n }\n if (that._trigger('change', $.Event('change', {\n delegatedEvent: e\n }), data) !== false) {\n that._onAdd(e, data);\n }\n });\n },\n _onPaste: function _onPaste(e) {\n var items = e.originalEvent && e.originalEvent.clipboardData && e.originalEvent.clipboardData.items,\n data = {\n files: []\n };\n if (items && items.length) {\n $.each(items, function (index, item) {\n var file = item.getAsFile && item.getAsFile();\n if (file) {\n data.files.push(file);\n }\n });\n if (this._trigger('paste', $.Event('paste', {\n delegatedEvent: e\n }), data) !== false) {\n this._onAdd(e, data);\n }\n }\n },\n _onDrop: function _onDrop(e) {\n e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer;\n var that = this,\n dataTransfer = e.dataTransfer,\n data = {};\n if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {\n e.preventDefault();\n this._getDroppedFiles(dataTransfer).always(function (files) {\n data.files = files;\n if (that._trigger('drop', $.Event('drop', {\n delegatedEvent: e\n }), data) !== false) {\n that._onAdd(e, data);\n }\n });\n }\n },\n _onDragOver: getDragHandler('dragover'),\n _onDragEnter: getDragHandler('dragenter'),\n _onDragLeave: getDragHandler('dragleave'),\n _initEventHandlers: function _initEventHandlers() {\n if (this._isXHRUpload(this.options)) {\n this._on(this.options.dropZone, {\n dragover: this._onDragOver,\n drop: this._onDrop,\n // event.preventDefault() on dragenter is required for IE10+:\n dragenter: this._onDragEnter,\n // dragleave is not required, but added for completeness:\n dragleave: this._onDragLeave\n });\n this._on(this.options.pasteZone, {\n paste: this._onPaste\n });\n }\n if ($.support.fileInput) {\n this._on(this.options.fileInput, {\n change: this._onChange\n });\n }\n },\n _destroyEventHandlers: function _destroyEventHandlers() {\n this._off(this.options.dropZone, 'dragenter dragleave dragover drop');\n this._off(this.options.pasteZone, 'paste');\n this._off(this.options.fileInput, 'change');\n },\n _destroy: function _destroy() {\n this._destroyEventHandlers();\n },\n _setOption: function _setOption(key, value) {\n var reinit = $.inArray(key, this._specialOptions) !== -1;\n if (reinit) {\n this._destroyEventHandlers();\n }\n this._super(key, value);\n if (reinit) {\n this._initSpecialOptions();\n this._initEventHandlers();\n }\n },\n _initSpecialOptions: function _initSpecialOptions() {\n var options = this.options;\n if (options.fileInput === undefined) {\n options.fileInput = this.element.is('input[type=\"file\"]') ? this.element : this.element.find('input[type=\"file\"]');\n } else if (!(options.fileInput instanceof $)) {\n options.fileInput = $(options.fileInput);\n }\n if (!(options.dropZone instanceof $)) {\n options.dropZone = $(options.dropZone);\n }\n if (!(options.pasteZone instanceof $)) {\n options.pasteZone = $(options.pasteZone);\n }\n },\n _getRegExp: function _getRegExp(str) {\n var parts = str.split('/'),\n modifiers = parts.pop();\n parts.shift();\n return new RegExp(parts.join('/'), modifiers);\n },\n _isRegExpOption: function _isRegExpOption(key, value) {\n return key !== 'url' && $.type(value) === 'string' && /^\\/.*\\/[igm]{0,3}$/.test(value);\n },\n _initDataAttributes: function _initDataAttributes() {\n var that = this,\n options = this.options,\n data = this.element.data();\n // Initialize options set via HTML5 data-attributes:\n $.each(this.element[0].attributes, function (index, attr) {\n var key = attr.name.toLowerCase(),\n value;\n if (/^data-/.test(key)) {\n // Convert hyphen-ated key to camelCase:\n key = key.slice(5).replace(/-[a-z]/g, function (str) {\n return str.charAt(1).toUpperCase();\n });\n value = data[key];\n if (that._isRegExpOption(key, value)) {\n value = that._getRegExp(value);\n }\n options[key] = value;\n }\n });\n },\n _create: function _create() {\n this._initDataAttributes();\n this._initSpecialOptions();\n this._slots = [];\n this._sequence = this._getXHRPromise(true);\n this._sending = this._active = 0;\n this._initProgressObject(this);\n this._initEventHandlers();\n },\n // This method is exposed to the widget API and allows to query\n // the number of active uploads:\n active: function active() {\n return this._active;\n },\n // This method is exposed to the widget API and allows to query\n // the widget upload progress.\n // It returns an object with loaded, total and bitrate properties\n // for the running uploads:\n progress: function progress() {\n return this._progress;\n },\n // This method is exposed to the widget API and allows adding files\n // using the fileupload API. The data parameter accepts an object which\n // must have a files property and can contain additional options:\n // .fileupload('add', {files: filesList});\n add: function add(data) {\n var that = this;\n if (!data || this.options.disabled) {\n return;\n }\n if (data.fileInput && !data.files) {\n this._getFileInputFiles(data.fileInput).always(function (files) {\n data.files = files;\n that._onAdd(null, data);\n });\n } else {\n data.files = $.makeArray(data.files);\n this._onAdd(null, data);\n }\n },\n // This method is exposed to the widget API and allows sending files\n // using the fileupload API. The data parameter accepts an object which\n // must have a files or fileInput property and can contain additional options:\n // .fileupload('send', {files: filesList});\n // The method returns a Promise object for the file upload call.\n send: function send(data) {\n if (data && !this.options.disabled) {\n if (data.fileInput && !data.files) {\n var that = this,\n dfd = $.Deferred(),\n promise = dfd.promise(),\n jqXHR,\n aborted;\n promise.abort = function () {\n aborted = true;\n if (jqXHR) {\n return jqXHR.abort();\n }\n dfd.reject(null, 'abort', 'abort');\n return promise;\n };\n this._getFileInputFiles(data.fileInput).always(function (files) {\n if (aborted) {\n return;\n }\n if (!files.length) {\n dfd.reject();\n return;\n }\n data.files = files;\n jqXHR = that._onSend(null, data);\n jqXHR.then(function (result, textStatus, jqXHR) {\n dfd.resolve(result, textStatus, jqXHR);\n }, function (jqXHR, textStatus, errorThrown) {\n dfd.reject(jqXHR, textStatus, errorThrown);\n });\n });\n return this._enhancePromise(promise);\n }\n data.files = $.makeArray(data.files);\n if (data.files.length) {\n return this._onSend(null, data);\n }\n }\n return this._getXHRPromise(false, data && data.context);\n }\n });\n});\n\n//# sourceURL=webpack://rup/./node_modules/blueimp-file-upload/js/jquery.fileupload.js?"); +eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n/*\n * jQuery File Upload Plugin\n * https://github.com/blueimp/jQuery-File-Upload\n *\n * Copyright 2010, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n */\n\n/* jshint nomen:false */\n/* global define, require, window, document, location, Blob, FormData */\n\n;\n(function (factory) {\n 'use strict';\n\n if (true) {\n // Register as an anonymous AMD module:\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"), __webpack_require__(/*! jquery-ui/ui/widget */ \"./node_modules/jquery-ui/ui/widget.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(function ($) {\n 'use strict';\n\n // Detect file input support, based on\n // http://viljamis.com/blog/2012/file-upload-support-on-mobile/\n $.support.fileInput = !(new RegExp(\n // Handle devices which give false positives for the feature detection:\n '(Android (1\\\\.[0156]|2\\\\.[01]))' + '|(Windows Phone (OS 7|8\\\\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)' + '|(w(eb)?OSBrowser)|(webOS)' + '|(Kindle/(1\\\\.0|2\\\\.[05]|3\\\\.0))').test(window.navigator.userAgent) ||\n // Feature detection for all other devices:\n $('').prop('disabled'));\n\n // The FileReader API is not actually used, but works as feature detection,\n // as some Safari versions (5?) support XHR file uploads via the FormData API,\n // but not non-multipart XHR file uploads.\n // window.XMLHttpRequestUpload is not available on IE10, so we check for\n // window.ProgressEvent instead to detect XHR2 file upload capability:\n $.support.xhrFileUpload = !!(window.ProgressEvent && window.FileReader);\n $.support.xhrFormDataFileUpload = !!window.FormData;\n\n // Detect support for Blob slicing (required for chunked uploads):\n $.support.blobSlice = window.Blob && (Blob.prototype.slice || Blob.prototype.webkitSlice || Blob.prototype.mozSlice);\n\n // Helper function to create drag handlers for dragover/dragenter/dragleave:\n function getDragHandler(type) {\n var isDragOver = type === 'dragover';\n return function (e) {\n e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer;\n var dataTransfer = e.dataTransfer;\n if (dataTransfer && $.inArray('Files', dataTransfer.types) !== -1 && this._trigger(type, $.Event(type, {\n delegatedEvent: e\n })) !== false) {\n e.preventDefault();\n if (isDragOver) {\n dataTransfer.dropEffect = 'copy';\n }\n }\n };\n }\n\n // The fileupload widget listens for change events on file input fields defined\n // via fileInput setting and paste or drop events of the given dropZone.\n // In addition to the default jQuery Widget methods, the fileupload widget\n // exposes the \"add\" and \"send\" methods, to add or directly send files using\n // the fileupload API.\n // By default, files added via file input selection, paste, drag & drop or\n // \"add\" method are uploaded immediately, but it is possible to override\n // the \"add\" callback option to queue file uploads.\n $.widget('blueimp.fileupload', {\n options: {\n // The drop target element(s), by the default the complete document.\n // Set to null to disable drag & drop support:\n dropZone: $(document),\n // The paste target element(s), by the default undefined.\n // Set to a DOM node or jQuery object to enable file pasting:\n pasteZone: undefined,\n // The file input field(s), that are listened to for change events.\n // If undefined, it is set to the file input fields inside\n // of the widget element on plugin initialization.\n // Set to null to disable the change listener.\n fileInput: undefined,\n // By default, the file input field is replaced with a clone after\n // each input field change event. This is required for iframe transport\n // queues and allows change events to be fired for the same file\n // selection, but can be disabled by setting the following option to false:\n replaceFileInput: true,\n // The parameter name for the file form data (the request argument name).\n // If undefined or empty, the name property of the file input field is\n // used, or \"files[]\" if the file input name property is also empty,\n // can be a string or an array of strings:\n paramName: undefined,\n // By default, each file of a selection is uploaded using an individual\n // request for XHR type uploads. Set to false to upload file\n // selections in one request each:\n singleFileUploads: true,\n // To limit the number of files uploaded with one XHR request,\n // set the following option to an integer greater than 0:\n limitMultiFileUploads: undefined,\n // The following option limits the number of files uploaded with one\n // XHR request to keep the request size under or equal to the defined\n // limit in bytes:\n limitMultiFileUploadSize: undefined,\n // Multipart file uploads add a number of bytes to each uploaded file,\n // therefore the following option adds an overhead for each file used\n // in the limitMultiFileUploadSize configuration:\n limitMultiFileUploadSizeOverhead: 512,\n // Set the following option to true to issue all file upload requests\n // in a sequential order:\n sequentialUploads: false,\n // To limit the number of concurrent uploads,\n // set the following option to an integer greater than 0:\n limitConcurrentUploads: undefined,\n // Set the following option to true to force iframe transport uploads:\n forceIframeTransport: false,\n // Set the following option to the location of a redirect url on the\n // origin server, for cross-domain iframe transport uploads:\n redirect: undefined,\n // The parameter name for the redirect url, sent as part of the form\n // data and set to 'redirect' if this option is empty:\n redirectParamName: undefined,\n // Set the following option to the location of a postMessage window,\n // to enable postMessage transport uploads:\n postMessage: undefined,\n // By default, XHR file uploads are sent as multipart/form-data.\n // The iframe transport is always using multipart/form-data.\n // Set to false to enable non-multipart XHR uploads:\n multipart: true,\n // To upload large files in smaller chunks, set the following option\n // to a preferred maximum chunk size. If set to 0, null or undefined,\n // or the browser does not support the required Blob API, files will\n // be uploaded as a whole.\n maxChunkSize: undefined,\n // When a non-multipart upload or a chunked multipart upload has been\n // aborted, this option can be used to resume the upload by setting\n // it to the size of the already uploaded bytes. This option is most\n // useful when modifying the options object inside of the \"add\" or\n // \"send\" callbacks, as the options are cloned for each file upload.\n uploadedBytes: undefined,\n // By default, failed (abort or error) file uploads are removed from the\n // global progress calculation. Set the following option to false to\n // prevent recalculating the global progress data:\n recalculateProgress: true,\n // Interval in milliseconds to calculate and trigger progress events:\n progressInterval: 100,\n // Interval in milliseconds to calculate progress bitrate:\n bitrateInterval: 500,\n // By default, uploads are started automatically when adding files:\n autoUpload: true,\n // Error and info messages:\n messages: {\n uploadedBytes: 'Uploaded bytes exceed file size'\n },\n // Translation function, gets the message key to be translated\n // and an object with context specific data as arguments:\n i18n: function i18n(message, context) {\n message = this.messages[message] || message.toString();\n if (context) {\n $.each(context, function (key, value) {\n message = message.replace('{' + key + '}', value);\n });\n }\n return message;\n },\n // Additional form data to be sent along with the file uploads can be set\n // using this option, which accepts an array of objects with name and\n // value properties, a function returning such an array, a FormData\n // object (for XHR file uploads), or a simple object.\n // The form of the first fileInput is given as parameter to the function:\n formData: function formData(form) {\n return form.serializeArray();\n },\n // The add callback is invoked as soon as files are added to the fileupload\n // widget (via file input selection, drag & drop, paste or add API call).\n // If the singleFileUploads option is enabled, this callback will be\n // called once for each file in the selection for XHR file uploads, else\n // once for each file selection.\n //\n // The upload starts when the submit method is invoked on the data parameter.\n // The data object contains a files property holding the added files\n // and allows you to override plugin options as well as define ajax settings.\n //\n // Listeners for this callback can also be bound the following way:\n // .bind('fileuploadadd', func);\n //\n // data.submit() returns a Promise object and allows to attach additional\n // handlers using jQuery's Deferred callbacks:\n // data.submit().done(func).fail(func).always(func);\n add: function add(e, data) {\n if (e.isDefaultPrevented()) {\n return false;\n }\n if (data.autoUpload || data.autoUpload !== false && $(this).fileupload('option', 'autoUpload')) {\n data.process().done(function () {\n data.submit();\n });\n }\n },\n // Other callbacks:\n\n // Callback for the submit event of each file upload:\n // submit: function (e, data) {}, // .bind('fileuploadsubmit', func);\n\n // Callback for the start of each file upload request:\n // send: function (e, data) {}, // .bind('fileuploadsend', func);\n\n // Callback for successful uploads:\n // done: function (e, data) {}, // .bind('fileuploaddone', func);\n\n // Callback for failed (abort or error) uploads:\n // fail: function (e, data) {}, // .bind('fileuploadfail', func);\n\n // Callback for completed (success, abort or error) requests:\n // always: function (e, data) {}, // .bind('fileuploadalways', func);\n\n // Callback for upload progress events:\n // progress: function (e, data) {}, // .bind('fileuploadprogress', func);\n\n // Callback for global upload progress events:\n // progressall: function (e, data) {}, // .bind('fileuploadprogressall', func);\n\n // Callback for uploads start, equivalent to the global ajaxStart event:\n // start: function (e) {}, // .bind('fileuploadstart', func);\n\n // Callback for uploads stop, equivalent to the global ajaxStop event:\n // stop: function (e) {}, // .bind('fileuploadstop', func);\n\n // Callback for change events of the fileInput(s):\n // change: function (e, data) {}, // .bind('fileuploadchange', func);\n\n // Callback for paste events to the pasteZone(s):\n // paste: function (e, data) {}, // .bind('fileuploadpaste', func);\n\n // Callback for drop events of the dropZone(s):\n // drop: function (e, data) {}, // .bind('fileuploaddrop', func);\n\n // Callback for dragover events of the dropZone(s):\n // dragover: function (e) {}, // .bind('fileuploaddragover', func);\n\n // Callback for the start of each chunk upload request:\n // chunksend: function (e, data) {}, // .bind('fileuploadchunksend', func);\n\n // Callback for successful chunk uploads:\n // chunkdone: function (e, data) {}, // .bind('fileuploadchunkdone', func);\n\n // Callback for failed (abort or error) chunk uploads:\n // chunkfail: function (e, data) {}, // .bind('fileuploadchunkfail', func);\n\n // Callback for completed (success, abort or error) chunk upload requests:\n // chunkalways: function (e, data) {}, // .bind('fileuploadchunkalways', func);\n\n // The plugin options are used as settings object for the ajax calls.\n // The following are jQuery ajax settings required for the file uploads:\n processData: false,\n contentType: false,\n cache: false,\n timeout: 0\n },\n // A list of options that require reinitializing event listeners and/or\n // special initialization code:\n _specialOptions: ['fileInput', 'dropZone', 'pasteZone', 'multipart', 'forceIframeTransport'],\n _blobSlice: $.support.blobSlice && function () {\n var slice = this.slice || this.webkitSlice || this.mozSlice;\n return slice.apply(this, arguments);\n },\n _BitrateTimer: function _BitrateTimer() {\n this.timestamp = Date.now ? Date.now() : new Date().getTime();\n this.loaded = 0;\n this.bitrate = 0;\n this.getBitrate = function (now, loaded, interval) {\n var timeDiff = now - this.timestamp;\n if (!this.bitrate || !interval || timeDiff > interval) {\n this.bitrate = (loaded - this.loaded) * (1000 / timeDiff) * 8;\n this.loaded = loaded;\n this.timestamp = now;\n }\n return this.bitrate;\n };\n },\n _isXHRUpload: function _isXHRUpload(options) {\n return !options.forceIframeTransport && (!options.multipart && $.support.xhrFileUpload || $.support.xhrFormDataFileUpload);\n },\n _getFormData: function _getFormData(options) {\n var formData;\n if ($.type(options.formData) === 'function') {\n return options.formData(options.form);\n }\n if ($.isArray(options.formData)) {\n return options.formData;\n }\n if ($.type(options.formData) === 'object') {\n formData = [];\n $.each(options.formData, function (name, value) {\n formData.push({\n name: name,\n value: value\n });\n });\n return formData;\n }\n return [];\n },\n _getTotal: function _getTotal(files) {\n var total = 0;\n $.each(files, function (index, file) {\n total += file.size || 1;\n });\n return total;\n },\n _initProgressObject: function _initProgressObject(obj) {\n var progress = {\n loaded: 0,\n total: 0,\n bitrate: 0\n };\n if (obj._progress) {\n $.extend(obj._progress, progress);\n } else {\n obj._progress = progress;\n }\n },\n _initResponseObject: function _initResponseObject(obj) {\n var prop;\n if (obj._response) {\n for (prop in obj._response) {\n if (obj._response.hasOwnProperty(prop)) {\n delete obj._response[prop];\n }\n }\n } else {\n obj._response = {};\n }\n },\n _onProgress: function _onProgress(e, data) {\n if (e.lengthComputable) {\n var now = Date.now ? Date.now() : new Date().getTime(),\n loaded;\n if (data._time && data.progressInterval && now - data._time < data.progressInterval && e.loaded !== e.total) {\n return;\n }\n data._time = now;\n loaded = Math.floor(e.loaded / e.total * (data.chunkSize || data._progress.total)) + (data.uploadedBytes || 0);\n // Add the difference from the previously loaded state\n // to the global loaded counter:\n this._progress.loaded += loaded - data._progress.loaded;\n this._progress.bitrate = this._bitrateTimer.getBitrate(now, this._progress.loaded, data.bitrateInterval);\n data._progress.loaded = data.loaded = loaded;\n data._progress.bitrate = data.bitrate = data._bitrateTimer.getBitrate(now, loaded, data.bitrateInterval);\n // Trigger a custom progress event with a total data property set\n // to the file size(s) of the current upload and a loaded data\n // property calculated accordingly:\n this._trigger('progress', $.Event('progress', {\n delegatedEvent: e\n }), data);\n // Trigger a global progress event for all current file uploads,\n // including ajax calls queued for sequential file uploads:\n this._trigger('progressall', $.Event('progressall', {\n delegatedEvent: e\n }), this._progress);\n }\n },\n _initProgressListener: function _initProgressListener(options) {\n var that = this,\n xhr = options.xhr ? options.xhr() : $.ajaxSettings.xhr();\n // Accesss to the native XHR object is required to add event listeners\n // for the upload progress event:\n if (xhr.upload) {\n $(xhr.upload).bind('progress', function (e) {\n var oe = e.originalEvent;\n // Make sure the progress event properties get copied over:\n e.lengthComputable = oe.lengthComputable;\n e.loaded = oe.loaded;\n e.total = oe.total;\n that._onProgress(e, options);\n });\n options.xhr = function () {\n return xhr;\n };\n }\n },\n _isInstanceOf: function _isInstanceOf(type, obj) {\n // Cross-frame instanceof check\n return Object.prototype.toString.call(obj) === '[object ' + type + ']';\n },\n _initXHRData: function _initXHRData(options) {\n var that = this,\n formData,\n file = options.files[0],\n // Ignore non-multipart setting if not supported:\n multipart = options.multipart || !$.support.xhrFileUpload,\n paramName = $.type(options.paramName) === 'array' ? options.paramName[0] : options.paramName;\n options.headers = $.extend({}, options.headers);\n if (options.contentRange) {\n options.headers['Content-Range'] = options.contentRange;\n }\n if (!multipart || options.blob || !this._isInstanceOf('File', file)) {\n options.headers['Content-Disposition'] = 'attachment; filename=\"' + encodeURI(file.uploadName || file.name) + '\"';\n }\n if (!multipart) {\n options.contentType = file.type || 'application/octet-stream';\n options.data = options.blob || file;\n } else if ($.support.xhrFormDataFileUpload) {\n if (options.postMessage) {\n // window.postMessage does not allow sending FormData\n // objects, so we just add the File/Blob objects to\n // the formData array and let the postMessage window\n // create the FormData object out of this array:\n formData = this._getFormData(options);\n if (options.blob) {\n formData.push({\n name: paramName,\n value: options.blob\n });\n } else {\n $.each(options.files, function (index, file) {\n formData.push({\n name: $.type(options.paramName) === 'array' && options.paramName[index] || paramName,\n value: file\n });\n });\n }\n } else {\n if (that._isInstanceOf('FormData', options.formData)) {\n formData = options.formData;\n } else {\n formData = new FormData();\n $.each(this._getFormData(options), function (index, field) {\n formData.append(field.name, field.value);\n });\n }\n if (options.blob) {\n formData.append(paramName, options.blob, file.uploadName || file.name);\n } else {\n $.each(options.files, function (index, file) {\n // This check allows the tests to run with\n // dummy objects:\n if (that._isInstanceOf('File', file) || that._isInstanceOf('Blob', file)) {\n formData.append($.type(options.paramName) === 'array' && options.paramName[index] || paramName, file, file.uploadName || file.name);\n }\n });\n }\n }\n options.data = formData;\n }\n // Blob reference is not needed anymore, free memory:\n options.blob = null;\n },\n _initIframeSettings: function _initIframeSettings(options) {\n var targetHost = $('').prop('href', options.url).prop('host');\n // Setting the dataType to iframe enables the iframe transport:\n options.dataType = 'iframe ' + (options.dataType || '');\n // The iframe transport accepts a serialized array as form data:\n options.formData = this._getFormData(options);\n // Add redirect url to form data on cross-domain uploads:\n if (options.redirect && targetHost && targetHost !== location.host) {\n options.formData.push({\n name: options.redirectParamName || 'redirect',\n value: options.redirect\n });\n }\n },\n _initDataSettings: function _initDataSettings(options) {\n if (this._isXHRUpload(options)) {\n if (!this._chunkedUpload(options, true)) {\n if (!options.data) {\n this._initXHRData(options);\n }\n this._initProgressListener(options);\n }\n if (options.postMessage) {\n // Setting the dataType to postmessage enables the\n // postMessage transport:\n options.dataType = 'postmessage ' + (options.dataType || '');\n }\n } else {\n this._initIframeSettings(options);\n }\n },\n _getParamName: function _getParamName(options) {\n var fileInput = $(options.fileInput),\n paramName = options.paramName;\n if (!paramName) {\n paramName = [];\n fileInput.each(function () {\n var input = $(this),\n name = input.prop('name') || 'files[]',\n i = (input.prop('files') || [1]).length;\n while (i) {\n paramName.push(name);\n i -= 1;\n }\n });\n if (!paramName.length) {\n paramName = [fileInput.prop('name') || 'files[]'];\n }\n } else if (!$.isArray(paramName)) {\n paramName = [paramName];\n }\n return paramName;\n },\n _initFormSettings: function _initFormSettings(options) {\n // Retrieve missing options from the input field and the\n // associated form, if available:\n if (!options.form || !options.form.length) {\n options.form = $(options.fileInput.prop('form'));\n // If the given file input doesn't have an associated form,\n // use the default widget file input's form:\n if (!options.form.length) {\n options.form = $(this.options.fileInput.prop('form'));\n }\n }\n options.paramName = this._getParamName(options);\n if (!options.url) {\n options.url = options.form.prop('action') || location.href;\n }\n // The HTTP request method must be \"POST\" or \"PUT\":\n options.type = (options.type || $.type(options.form.prop('method')) === 'string' && options.form.prop('method') || '').toUpperCase();\n if (options.type !== 'POST' && options.type !== 'PUT' && options.type !== 'PATCH') {\n options.type = 'POST';\n }\n if (!options.formAcceptCharset) {\n options.formAcceptCharset = options.form.attr('accept-charset');\n }\n },\n _getAJAXSettings: function _getAJAXSettings(data) {\n var options = $.extend({}, this.options, data);\n this._initFormSettings(options);\n this._initDataSettings(options);\n return options;\n },\n // jQuery 1.6 doesn't provide .state(),\n // while jQuery 1.8+ removed .isRejected() and .isResolved():\n _getDeferredState: function _getDeferredState(deferred) {\n if (deferred.state) {\n return deferred.state();\n }\n if (deferred.isResolved()) {\n return 'resolved';\n }\n if (deferred.isRejected()) {\n return 'rejected';\n }\n return 'pending';\n },\n // Maps jqXHR callbacks to the equivalent\n // methods of the given Promise object:\n _enhancePromise: function _enhancePromise(promise) {\n promise.success = promise.done;\n promise.error = promise.fail;\n promise.complete = promise.always;\n return promise;\n },\n // Creates and returns a Promise object enhanced with\n // the jqXHR methods abort, success, error and complete:\n _getXHRPromise: function _getXHRPromise(resolveOrReject, context, args) {\n var dfd = $.Deferred(),\n promise = dfd.promise();\n context = context || this.options.context || promise;\n if (resolveOrReject === true) {\n dfd.resolveWith(context, args);\n } else if (resolveOrReject === false) {\n dfd.rejectWith(context, args);\n }\n promise.abort = dfd.promise;\n return this._enhancePromise(promise);\n },\n // Adds convenience methods to the data callback argument:\n _addConvenienceMethods: function _addConvenienceMethods(e, data) {\n var that = this,\n getPromise = function getPromise(args) {\n return $.Deferred().resolveWith(that, args).promise();\n };\n data.process = function (resolveFunc, rejectFunc) {\n if (resolveFunc || rejectFunc) {\n data._processQueue = this._processQueue = (this._processQueue || getPromise([this])).then(function () {\n if (data.errorThrown) {\n return $.Deferred().rejectWith(that, [data]).promise();\n }\n return getPromise(arguments);\n }).then(resolveFunc, rejectFunc);\n }\n return this._processQueue || getPromise([this]);\n };\n data.submit = function () {\n if (this.state() !== 'pending') {\n data.jqXHR = this.jqXHR = that._trigger('submit', $.Event('submit', {\n delegatedEvent: e\n }), this) !== false && that._onSend(e, this);\n }\n return this.jqXHR || that._getXHRPromise();\n };\n data.abort = function () {\n if (this.jqXHR) {\n return this.jqXHR.abort();\n }\n this.errorThrown = 'abort';\n that._trigger('fail', null, this);\n return that._getXHRPromise(false);\n };\n data.state = function () {\n if (this.jqXHR) {\n return that._getDeferredState(this.jqXHR);\n }\n if (this._processQueue) {\n return that._getDeferredState(this._processQueue);\n }\n };\n data.processing = function () {\n return !this.jqXHR && this._processQueue && that._getDeferredState(this._processQueue) === 'pending';\n };\n data.progress = function () {\n return this._progress;\n };\n data.response = function () {\n return this._response;\n };\n },\n // Parses the Range header from the server response\n // and returns the uploaded bytes:\n _getUploadedBytes: function _getUploadedBytes(jqXHR) {\n var range = jqXHR.getResponseHeader('Range'),\n parts = range && range.split('-'),\n upperBytesPos = parts && parts.length > 1 && parseInt(parts[1], 10);\n return upperBytesPos && upperBytesPos + 1;\n },\n // Uploads a file in multiple, sequential requests\n // by splitting the file up in multiple blob chunks.\n // If the second parameter is true, only tests if the file\n // should be uploaded in chunks, but does not invoke any\n // upload requests:\n _chunkedUpload: function _chunkedUpload(options, testOnly) {\n options.uploadedBytes = options.uploadedBytes || 0;\n var that = this,\n file = options.files[0],\n fs = file.size,\n ub = options.uploadedBytes,\n mcs = options.maxChunkSize || fs,\n slice = this._blobSlice,\n dfd = $.Deferred(),\n promise = dfd.promise(),\n jqXHR,\n _upload;\n if (!(this._isXHRUpload(options) && slice && (ub || ($.type(mcs) === 'function' ? mcs(options) : mcs) < fs)) || options.data) {\n return false;\n }\n if (testOnly) {\n return true;\n }\n if (ub >= fs) {\n file.error = options.i18n('uploadedBytes');\n return this._getXHRPromise(false, options.context, [null, 'error', file.error]);\n }\n // The chunk upload method:\n _upload = function upload() {\n // Clone the options object for each chunk upload:\n var o = $.extend({}, options),\n currentLoaded = o._progress.loaded;\n o.blob = slice.call(file, ub, ub + ($.type(mcs) === 'function' ? mcs(o) : mcs), file.type);\n // Store the current chunk size, as the blob itself\n // will be dereferenced after data processing:\n o.chunkSize = o.blob.size;\n // Expose the chunk bytes position range:\n o.contentRange = 'bytes ' + ub + '-' + (ub + o.chunkSize - 1) + '/' + fs;\n // Process the upload data (the blob and potential form data):\n that._initXHRData(o);\n // Add progress listeners for this chunk upload:\n that._initProgressListener(o);\n jqXHR = (that._trigger('chunksend', null, o) !== false && $.ajax(o) || that._getXHRPromise(false, o.context)).done(function (result, textStatus, jqXHR) {\n ub = that._getUploadedBytes(jqXHR) || ub + o.chunkSize;\n // Create a progress event if no final progress event\n // with loaded equaling total has been triggered\n // for this chunk:\n if (currentLoaded + o.chunkSize - o._progress.loaded) {\n that._onProgress($.Event('progress', {\n lengthComputable: true,\n loaded: ub - o.uploadedBytes,\n total: ub - o.uploadedBytes\n }), o);\n }\n options.uploadedBytes = o.uploadedBytes = ub;\n o.result = result;\n o.textStatus = textStatus;\n o.jqXHR = jqXHR;\n that._trigger('chunkdone', null, o);\n that._trigger('chunkalways', null, o);\n if (ub < fs) {\n // File upload not yet complete,\n // continue with the next chunk:\n _upload();\n } else {\n dfd.resolveWith(o.context, [result, textStatus, jqXHR]);\n }\n }).fail(function (jqXHR, textStatus, errorThrown) {\n o.jqXHR = jqXHR;\n o.textStatus = textStatus;\n o.errorThrown = errorThrown;\n that._trigger('chunkfail', null, o);\n that._trigger('chunkalways', null, o);\n dfd.rejectWith(o.context, [jqXHR, textStatus, errorThrown]);\n });\n };\n this._enhancePromise(promise);\n promise.abort = function () {\n return jqXHR.abort();\n };\n _upload();\n return promise;\n },\n _beforeSend: function _beforeSend(e, data) {\n if (this._active === 0) {\n // the start callback is triggered when an upload starts\n // and no other uploads are currently running,\n // equivalent to the global ajaxStart event:\n this._trigger('start');\n // Set timer for global bitrate progress calculation:\n this._bitrateTimer = new this._BitrateTimer();\n // Reset the global progress values:\n this._progress.loaded = this._progress.total = 0;\n this._progress.bitrate = 0;\n }\n // Make sure the container objects for the .response() and\n // .progress() methods on the data object are available\n // and reset to their initial state:\n this._initResponseObject(data);\n this._initProgressObject(data);\n data._progress.loaded = data.loaded = data.uploadedBytes || 0;\n data._progress.total = data.total = this._getTotal(data.files) || 1;\n data._progress.bitrate = data.bitrate = 0;\n this._active += 1;\n // Initialize the global progress values:\n this._progress.loaded += data.loaded;\n this._progress.total += data.total;\n },\n _onDone: function _onDone(result, textStatus, jqXHR, options) {\n var total = options._progress.total,\n response = options._response;\n if (options._progress.loaded < total) {\n // Create a progress event if no final progress event\n // with loaded equaling total has been triggered:\n this._onProgress($.Event('progress', {\n lengthComputable: true,\n loaded: total,\n total: total\n }), options);\n }\n response.result = options.result = result;\n response.textStatus = options.textStatus = textStatus;\n response.jqXHR = options.jqXHR = jqXHR;\n this._trigger('done', null, options);\n },\n _onFail: function _onFail(jqXHR, textStatus, errorThrown, options) {\n var response = options._response;\n if (options.recalculateProgress) {\n // Remove the failed (error or abort) file upload from\n // the global progress calculation:\n this._progress.loaded -= options._progress.loaded;\n this._progress.total -= options._progress.total;\n }\n response.jqXHR = options.jqXHR = jqXHR;\n response.textStatus = options.textStatus = textStatus;\n response.errorThrown = options.errorThrown = errorThrown;\n this._trigger('fail', null, options);\n },\n _onAlways: function _onAlways(jqXHRorResult, textStatus, jqXHRorError, options) {\n // jqXHRorResult, textStatus and jqXHRorError are added to the\n // options object via done and fail callbacks\n this._trigger('always', null, options);\n },\n _onSend: function _onSend(e, data) {\n if (!data.submit) {\n this._addConvenienceMethods(e, data);\n }\n var that = this,\n jqXHR,\n aborted,\n slot,\n pipe,\n options = that._getAJAXSettings(data),\n send = function send() {\n that._sending += 1;\n // Set timer for bitrate progress calculation:\n options._bitrateTimer = new that._BitrateTimer();\n jqXHR = jqXHR || ((aborted || that._trigger('send', $.Event('send', {\n delegatedEvent: e\n }), options) === false) && that._getXHRPromise(false, options.context, aborted) || that._chunkedUpload(options) || $.ajax(options)).done(function (result, textStatus, jqXHR) {\n that._onDone(result, textStatus, jqXHR, options);\n }).fail(function (jqXHR, textStatus, errorThrown) {\n that._onFail(jqXHR, textStatus, errorThrown, options);\n }).always(function (jqXHRorResult, textStatus, jqXHRorError) {\n that._onAlways(jqXHRorResult, textStatus, jqXHRorError, options);\n that._sending -= 1;\n that._active -= 1;\n if (options.limitConcurrentUploads && options.limitConcurrentUploads > that._sending) {\n // Start the next queued upload,\n // that has not been aborted:\n var nextSlot = that._slots.shift();\n while (nextSlot) {\n if (that._getDeferredState(nextSlot) === 'pending') {\n nextSlot.resolve();\n break;\n }\n nextSlot = that._slots.shift();\n }\n }\n if (that._active === 0) {\n // The stop callback is triggered when all uploads have\n // been completed, equivalent to the global ajaxStop event:\n that._trigger('stop');\n }\n });\n return jqXHR;\n };\n this._beforeSend(e, options);\n if (this.options.sequentialUploads || this.options.limitConcurrentUploads && this.options.limitConcurrentUploads <= this._sending) {\n if (this.options.limitConcurrentUploads > 1) {\n slot = $.Deferred();\n this._slots.push(slot);\n pipe = slot.then(send);\n } else {\n this._sequence = this._sequence.then(send, send);\n pipe = this._sequence;\n }\n // Return the piped Promise object, enhanced with an abort method,\n // which is delegated to the jqXHR object of the current upload,\n // and jqXHR callbacks mapped to the equivalent Promise methods:\n pipe.abort = function () {\n aborted = [undefined, 'abort', 'abort'];\n if (!jqXHR) {\n if (slot) {\n slot.rejectWith(options.context, aborted);\n }\n return send();\n }\n return jqXHR.abort();\n };\n return this._enhancePromise(pipe);\n }\n return send();\n },\n _onAdd: function _onAdd(e, data) {\n var that = this,\n result = true,\n options = $.extend({}, this.options, data),\n files = data.files,\n filesLength = files.length,\n limit = options.limitMultiFileUploads,\n limitSize = options.limitMultiFileUploadSize,\n overhead = options.limitMultiFileUploadSizeOverhead,\n batchSize = 0,\n paramName = this._getParamName(options),\n paramNameSet,\n paramNameSlice,\n fileSet,\n i,\n j = 0;\n if (!filesLength) {\n return false;\n }\n if (limitSize && files[0].size === undefined) {\n limitSize = undefined;\n }\n if (!(options.singleFileUploads || limit || limitSize) || !this._isXHRUpload(options)) {\n fileSet = [files];\n paramNameSet = [paramName];\n } else if (!(options.singleFileUploads || limitSize) && limit) {\n fileSet = [];\n paramNameSet = [];\n for (i = 0; i < filesLength; i += limit) {\n fileSet.push(files.slice(i, i + limit));\n paramNameSlice = paramName.slice(i, i + limit);\n if (!paramNameSlice.length) {\n paramNameSlice = paramName;\n }\n paramNameSet.push(paramNameSlice);\n }\n } else if (!options.singleFileUploads && limitSize) {\n fileSet = [];\n paramNameSet = [];\n for (i = 0; i < filesLength; i = i + 1) {\n batchSize += files[i].size + overhead;\n if (i + 1 === filesLength || batchSize + files[i + 1].size + overhead > limitSize || limit && i + 1 - j >= limit) {\n fileSet.push(files.slice(j, i + 1));\n paramNameSlice = paramName.slice(j, i + 1);\n if (!paramNameSlice.length) {\n paramNameSlice = paramName;\n }\n paramNameSet.push(paramNameSlice);\n j = i + 1;\n batchSize = 0;\n }\n }\n } else {\n paramNameSet = paramName;\n }\n data.originalFiles = files;\n $.each(fileSet || files, function (index, element) {\n var newData = $.extend({}, data);\n newData.files = fileSet ? element : [element];\n newData.paramName = paramNameSet[index];\n that._initResponseObject(newData);\n that._initProgressObject(newData);\n that._addConvenienceMethods(e, newData);\n result = that._trigger('add', $.Event('add', {\n delegatedEvent: e\n }), newData);\n return result;\n });\n return result;\n },\n _replaceFileInput: function _replaceFileInput(data) {\n var input = data.fileInput,\n inputClone = input.clone(true),\n restoreFocus = input.is(document.activeElement);\n // Add a reference for the new cloned file input to the data argument:\n data.fileInputClone = inputClone;\n $('
').append(inputClone)[0].reset();\n // Detaching allows to insert the fileInput on another form\n // without loosing the file input value:\n input.after(inputClone).detach();\n // If the fileInput had focus before it was detached,\n // restore focus to the inputClone.\n if (restoreFocus) {\n inputClone.focus();\n }\n // Avoid memory leaks with the detached file input:\n $.cleanData(input.unbind('remove'));\n // Replace the original file input element in the fileInput\n // elements set with the clone, which has been copied including\n // event handlers:\n this.options.fileInput = this.options.fileInput.map(function (i, el) {\n if (el === input[0]) {\n return inputClone[0];\n }\n return el;\n });\n // If the widget has been initialized on the file input itself,\n // override this.element with the file input clone:\n if (input[0] === this.element[0]) {\n this.element = inputClone;\n }\n },\n _handleFileTreeEntry: function _handleFileTreeEntry(entry, path) {\n var that = this,\n dfd = $.Deferred(),\n entries = [],\n dirReader,\n errorHandler = function errorHandler(e) {\n if (e && !e.entry) {\n e.entry = entry;\n }\n // Since $.when returns immediately if one\n // Deferred is rejected, we use resolve instead.\n // This allows valid files and invalid items\n // to be returned together in one set:\n dfd.resolve([e]);\n },\n successHandler = function successHandler(entries) {\n that._handleFileTreeEntries(entries, path + entry.name + '/').done(function (files) {\n dfd.resolve(files);\n }).fail(errorHandler);\n },\n _readEntries = function readEntries() {\n dirReader.readEntries(function (results) {\n if (!results.length) {\n successHandler(entries);\n } else {\n entries = entries.concat(results);\n _readEntries();\n }\n }, errorHandler);\n };\n path = path || '';\n if (entry.isFile) {\n if (entry._file) {\n // Workaround for Chrome bug #149735\n entry._file.relativePath = path;\n dfd.resolve(entry._file);\n } else {\n entry.file(function (file) {\n file.relativePath = path;\n dfd.resolve(file);\n }, errorHandler);\n }\n } else if (entry.isDirectory) {\n dirReader = entry.createReader();\n _readEntries();\n } else {\n // Return an empty list for file system items\n // other than files or directories:\n dfd.resolve([]);\n }\n return dfd.promise();\n },\n _handleFileTreeEntries: function _handleFileTreeEntries(entries, path) {\n var that = this;\n return $.when.apply($, $.map(entries, function (entry) {\n return that._handleFileTreeEntry(entry, path);\n })).then(function () {\n return Array.prototype.concat.apply([], arguments);\n });\n },\n _getDroppedFiles: function _getDroppedFiles(dataTransfer) {\n dataTransfer = dataTransfer || {};\n var items = dataTransfer.items;\n if (items && items.length && (items[0].webkitGetAsEntry || items[0].getAsEntry)) {\n return this._handleFileTreeEntries($.map(items, function (item) {\n var entry;\n if (item.webkitGetAsEntry) {\n entry = item.webkitGetAsEntry();\n if (entry) {\n // Workaround for Chrome bug #149735:\n entry._file = item.getAsFile();\n }\n return entry;\n }\n return item.getAsEntry();\n }));\n }\n return $.Deferred().resolve($.makeArray(dataTransfer.files)).promise();\n },\n _getSingleFileInputFiles: function _getSingleFileInputFiles(fileInput) {\n fileInput = $(fileInput);\n var entries = fileInput.prop('webkitEntries') || fileInput.prop('entries'),\n files,\n value;\n if (entries && entries.length) {\n return this._handleFileTreeEntries(entries);\n }\n files = $.makeArray(fileInput.prop('files'));\n if (!files.length) {\n value = fileInput.prop('value');\n if (!value) {\n return $.Deferred().resolve([]).promise();\n }\n // If the files property is not available, the browser does not\n // support the File API and we add a pseudo File object with\n // the input value as name with path information removed:\n files = [{\n name: value.replace(/^.*\\\\/, '')\n }];\n } else if (files[0].name === undefined && files[0].fileName) {\n // File normalization for Safari 4 and Firefox 3:\n $.each(files, function (index, file) {\n file.name = file.fileName;\n file.size = file.fileSize;\n });\n }\n return $.Deferred().resolve(files).promise();\n },\n _getFileInputFiles: function _getFileInputFiles(fileInput) {\n if (!(fileInput instanceof $) || fileInput.length === 1) {\n return this._getSingleFileInputFiles(fileInput);\n }\n return $.when.apply($, $.map(fileInput, this._getSingleFileInputFiles)).then(function () {\n return Array.prototype.concat.apply([], arguments);\n });\n },\n _onChange: function _onChange(e) {\n var that = this,\n data = {\n fileInput: $(e.target),\n form: $(e.target.form)\n };\n this._getFileInputFiles(data.fileInput).always(function (files) {\n data.files = files;\n if (that.options.replaceFileInput) {\n that._replaceFileInput(data);\n }\n if (that._trigger('change', $.Event('change', {\n delegatedEvent: e\n }), data) !== false) {\n that._onAdd(e, data);\n }\n });\n },\n _onPaste: function _onPaste(e) {\n var items = e.originalEvent && e.originalEvent.clipboardData && e.originalEvent.clipboardData.items,\n data = {\n files: []\n };\n if (items && items.length) {\n $.each(items, function (index, item) {\n var file = item.getAsFile && item.getAsFile();\n if (file) {\n data.files.push(file);\n }\n });\n if (this._trigger('paste', $.Event('paste', {\n delegatedEvent: e\n }), data) !== false) {\n this._onAdd(e, data);\n }\n }\n },\n _onDrop: function _onDrop(e) {\n e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer;\n var that = this,\n dataTransfer = e.dataTransfer,\n data = {};\n if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {\n e.preventDefault();\n this._getDroppedFiles(dataTransfer).always(function (files) {\n data.files = files;\n if (that._trigger('drop', $.Event('drop', {\n delegatedEvent: e\n }), data) !== false) {\n that._onAdd(e, data);\n }\n });\n }\n },\n _onDragOver: getDragHandler('dragover'),\n _onDragEnter: getDragHandler('dragenter'),\n _onDragLeave: getDragHandler('dragleave'),\n _initEventHandlers: function _initEventHandlers() {\n if (this._isXHRUpload(this.options)) {\n this._on(this.options.dropZone, {\n dragover: this._onDragOver,\n drop: this._onDrop,\n // event.preventDefault() on dragenter is required for IE10+:\n dragenter: this._onDragEnter,\n // dragleave is not required, but added for completeness:\n dragleave: this._onDragLeave\n });\n this._on(this.options.pasteZone, {\n paste: this._onPaste\n });\n }\n if ($.support.fileInput) {\n this._on(this.options.fileInput, {\n change: this._onChange\n });\n }\n },\n _destroyEventHandlers: function _destroyEventHandlers() {\n this._off(this.options.dropZone, 'dragenter dragleave dragover drop');\n this._off(this.options.pasteZone, 'paste');\n this._off(this.options.fileInput, 'change');\n },\n _destroy: function _destroy() {\n this._destroyEventHandlers();\n },\n _setOption: function _setOption(key, value) {\n var reinit = $.inArray(key, this._specialOptions) !== -1;\n if (reinit) {\n this._destroyEventHandlers();\n }\n this._super(key, value);\n if (reinit) {\n this._initSpecialOptions();\n this._initEventHandlers();\n }\n },\n _initSpecialOptions: function _initSpecialOptions() {\n var options = this.options;\n if (options.fileInput === undefined) {\n options.fileInput = this.element.is('input[type=\"file\"]') ? this.element : this.element.find('input[type=\"file\"]');\n } else if (!(options.fileInput instanceof $)) {\n options.fileInput = $(options.fileInput);\n }\n if (!(options.dropZone instanceof $)) {\n options.dropZone = $(options.dropZone);\n }\n if (!(options.pasteZone instanceof $)) {\n options.pasteZone = $(options.pasteZone);\n }\n },\n _getRegExp: function _getRegExp(str) {\n var parts = str.split('/'),\n modifiers = parts.pop();\n parts.shift();\n return new RegExp(parts.join('/'), modifiers);\n },\n _isRegExpOption: function _isRegExpOption(key, value) {\n return key !== 'url' && $.type(value) === 'string' && /^\\/.*\\/[igm]{0,3}$/.test(value);\n },\n _initDataAttributes: function _initDataAttributes() {\n var that = this,\n options = this.options,\n data = this.element.data();\n // Initialize options set via HTML5 data-attributes:\n $.each(this.element[0].attributes, function (index, attr) {\n var key = attr.name.toLowerCase(),\n value;\n if (/^data-/.test(key)) {\n // Convert hyphen-ated key to camelCase:\n key = key.slice(5).replace(/-[a-z]/g, function (str) {\n return str.charAt(1).toUpperCase();\n });\n value = data[key];\n if (that._isRegExpOption(key, value)) {\n value = that._getRegExp(value);\n }\n options[key] = value;\n }\n });\n },\n _create: function _create() {\n this._initDataAttributes();\n this._initSpecialOptions();\n this._slots = [];\n this._sequence = this._getXHRPromise(true);\n this._sending = this._active = 0;\n this._initProgressObject(this);\n this._initEventHandlers();\n },\n // This method is exposed to the widget API and allows to query\n // the number of active uploads:\n active: function active() {\n return this._active;\n },\n // This method is exposed to the widget API and allows to query\n // the widget upload progress.\n // It returns an object with loaded, total and bitrate properties\n // for the running uploads:\n progress: function progress() {\n return this._progress;\n },\n // This method is exposed to the widget API and allows adding files\n // using the fileupload API. The data parameter accepts an object which\n // must have a files property and can contain additional options:\n // .fileupload('add', {files: filesList});\n add: function add(data) {\n var that = this;\n if (!data || this.options.disabled) {\n return;\n }\n if (data.fileInput && !data.files) {\n this._getFileInputFiles(data.fileInput).always(function (files) {\n data.files = files;\n that._onAdd(null, data);\n });\n } else {\n data.files = $.makeArray(data.files);\n this._onAdd(null, data);\n }\n },\n // This method is exposed to the widget API and allows sending files\n // using the fileupload API. The data parameter accepts an object which\n // must have a files or fileInput property and can contain additional options:\n // .fileupload('send', {files: filesList});\n // The method returns a Promise object for the file upload call.\n send: function send(data) {\n if (data && !this.options.disabled) {\n if (data.fileInput && !data.files) {\n var that = this,\n dfd = $.Deferred(),\n promise = dfd.promise(),\n jqXHR,\n aborted;\n promise.abort = function () {\n aborted = true;\n if (jqXHR) {\n return jqXHR.abort();\n }\n dfd.reject(null, 'abort', 'abort');\n return promise;\n };\n this._getFileInputFiles(data.fileInput).always(function (files) {\n if (aborted) {\n return;\n }\n if (!files.length) {\n dfd.reject();\n return;\n }\n data.files = files;\n jqXHR = that._onSend(null, data);\n jqXHR.then(function (result, textStatus, jqXHR) {\n dfd.resolve(result, textStatus, jqXHR);\n }, function (jqXHR, textStatus, errorThrown) {\n dfd.reject(jqXHR, textStatus, errorThrown);\n });\n });\n return this._enhancePromise(promise);\n }\n data.files = $.makeArray(data.files);\n if (data.files.length) {\n return this._onSend(null, data);\n }\n }\n return this._getXHRPromise(false, data && data.context);\n }\n });\n});\n\n//# sourceURL=webpack://rup/./node_modules/blueimp-file-upload/js/jquery.fileupload.js?"); /***/ }), @@ -270,7 +270,7 @@ eval("var __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { \"@babel/helpers - /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n/*\n * JavaScript Templates\n * https://github.com/blueimp/JavaScript-Templates\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/MIT\n *\n * Inspired by John Resig's JavaScript Micro-Templating:\n * http://ejohn.org/blog/javascript-micro-templating/\n */\n\n/* global define */\n\n;\n(function ($) {\n 'use strict';\n\n var tmpl = function tmpl(str, data) {\n var f = !/[^\\w\\-\\.:]/.test(str) ? tmpl.cache[str] = tmpl.cache[str] || tmpl(tmpl.load(str)) : new Function(\n // eslint-disable-line no-new-func\n tmpl.arg + ',tmpl', 'var _e=tmpl.encode' + tmpl.helper + \",_s='\" + str.replace(tmpl.regexp, tmpl.func) + \"';return _s;\");\n return data ? f(data, tmpl) : function (data) {\n return f(data, tmpl);\n };\n };\n tmpl.cache = {};\n tmpl.load = function (id) {\n return document.getElementById(id).innerHTML;\n };\n tmpl.regexp = /([\\s'\\\\])(?!(?:[^{]|\\{(?!%))*%\\})|(?:\\{%(=|#)([\\s\\S]+?)%\\})|(\\{%)|(%\\})/g;\n tmpl.func = function (s, p1, p2, p3, p4, p5) {\n if (p1) {\n // whitespace, quote and backspace in HTML context\n return {\n '\\n': '\\\\n',\n '\\r': '\\\\r',\n '\\t': '\\\\t',\n ' ': ' '\n }[p1] || '\\\\' + p1;\n }\n if (p2) {\n // interpolation: {%=prop%}, or unescaped: {%#prop%}\n if (p2 === '=') {\n return \"'+_e(\" + p3 + \")+'\";\n }\n return \"'+(\" + p3 + \"==null?'':\" + p3 + \")+'\";\n }\n if (p4) {\n // evaluation start tag: {%\n return \"';\";\n }\n if (p5) {\n // evaluation end tag: %}\n return \"_s+='\";\n }\n };\n tmpl.encReg = /[<>&\"'\\x00]/g; // eslint-disable-line no-control-regex\n tmpl.encMap = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n };\n tmpl.encode = function (s) {\n return (s == null ? '' : '' + s).replace(tmpl.encReg, function (c) {\n return tmpl.encMap[c] || '';\n });\n };\n tmpl.arg = 'o';\n tmpl.helper = \",print=function(s,e){_s+=e?(s==null?'':s):_e(s);}\" + ',include=function(s,d){_s+=tmpl(s,d);}';\n if (true) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n return tmpl;\n }).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(this);\n\n//# sourceURL=webpack://rup/./node_modules/blueimp-file-upload/node_modules/blueimp-tmpl/js/tmpl.js?"); +eval("var __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n/*\n * JavaScript Templates\n * https://github.com/blueimp/JavaScript-Templates\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/MIT\n *\n * Inspired by John Resig's JavaScript Micro-Templating:\n * http://ejohn.org/blog/javascript-micro-templating/\n */\n\n/* global define */\n\n;\n(function ($) {\n 'use strict';\n\n var _tmpl = function tmpl(str, data) {\n var f = !/[^\\w\\-\\.:]/.test(str) ? _tmpl.cache[str] = _tmpl.cache[str] || _tmpl(_tmpl.load(str)) : new Function(\n // eslint-disable-line no-new-func\n _tmpl.arg + ',tmpl', 'var _e=tmpl.encode' + _tmpl.helper + \",_s='\" + str.replace(_tmpl.regexp, _tmpl.func) + \"';return _s;\");\n return data ? f(data, _tmpl) : function (data) {\n return f(data, _tmpl);\n };\n };\n _tmpl.cache = {};\n _tmpl.load = function (id) {\n return document.getElementById(id).innerHTML;\n };\n _tmpl.regexp = /([\\s'\\\\])(?!(?:[^{]|\\{(?!%))*%\\})|(?:\\{%(=|#)([\\s\\S]+?)%\\})|(\\{%)|(%\\})/g;\n _tmpl.func = function (s, p1, p2, p3, p4, p5) {\n if (p1) {\n // whitespace, quote and backspace in HTML context\n return {\n '\\n': '\\\\n',\n '\\r': '\\\\r',\n '\\t': '\\\\t',\n ' ': ' '\n }[p1] || '\\\\' + p1;\n }\n if (p2) {\n // interpolation: {%=prop%}, or unescaped: {%#prop%}\n if (p2 === '=') {\n return \"'+_e(\" + p3 + \")+'\";\n }\n return \"'+(\" + p3 + \"==null?'':\" + p3 + \")+'\";\n }\n if (p4) {\n // evaluation start tag: {%\n return \"';\";\n }\n if (p5) {\n // evaluation end tag: %}\n return \"_s+='\";\n }\n };\n _tmpl.encReg = /[<>&\"'\\x00]/g; // eslint-disable-line no-control-regex\n _tmpl.encMap = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n };\n _tmpl.encode = function (s) {\n return (s == null ? '' : '' + s).replace(_tmpl.encReg, function (c) {\n return _tmpl.encMap[c] || '';\n });\n };\n _tmpl.arg = 'o';\n _tmpl.helper = \",print=function(s,e){_s+=e?(s==null?'':s):_e(s);}\" + ',include=function(s,d){_s+=tmpl(s,d);}';\n if (true) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n return _tmpl;\n }).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(this);\n\n//# sourceURL=webpack://rup/./node_modules/blueimp-file-upload/node_modules/blueimp-tmpl/js/tmpl.js?"); /***/ }), @@ -304,7 +304,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extr /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n/*!\n * Chart.js v2.9.4\n * https://www.chartjs.org\n * (c) 2020 Chart.js Contributors\n * Released under the MIT License\n */\n(function (global, factory) {\n ( false ? undefined : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory(function () {\n try {\n return __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n } catch (e) {}\n }()) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require) {\n return factory(function () {\n try {\n return __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n } catch (e) {}\n }());\n }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : (undefined);\n})(this, function (moment) {\n 'use strict';\n\n moment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;\n function createCommonjsModule(fn, module) {\n return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n }\n function getCjsExportFromNamespace(n) {\n return n && n['default'] || n;\n }\n var colorName = {\n \"aliceblue\": [240, 248, 255],\n \"antiquewhite\": [250, 235, 215],\n \"aqua\": [0, 255, 255],\n \"aquamarine\": [127, 255, 212],\n \"azure\": [240, 255, 255],\n \"beige\": [245, 245, 220],\n \"bisque\": [255, 228, 196],\n \"black\": [0, 0, 0],\n \"blanchedalmond\": [255, 235, 205],\n \"blue\": [0, 0, 255],\n \"blueviolet\": [138, 43, 226],\n \"brown\": [165, 42, 42],\n \"burlywood\": [222, 184, 135],\n \"cadetblue\": [95, 158, 160],\n \"chartreuse\": [127, 255, 0],\n \"chocolate\": [210, 105, 30],\n \"coral\": [255, 127, 80],\n \"cornflowerblue\": [100, 149, 237],\n \"cornsilk\": [255, 248, 220],\n \"crimson\": [220, 20, 60],\n \"cyan\": [0, 255, 255],\n \"darkblue\": [0, 0, 139],\n \"darkcyan\": [0, 139, 139],\n \"darkgoldenrod\": [184, 134, 11],\n \"darkgray\": [169, 169, 169],\n \"darkgreen\": [0, 100, 0],\n \"darkgrey\": [169, 169, 169],\n \"darkkhaki\": [189, 183, 107],\n \"darkmagenta\": [139, 0, 139],\n \"darkolivegreen\": [85, 107, 47],\n \"darkorange\": [255, 140, 0],\n \"darkorchid\": [153, 50, 204],\n \"darkred\": [139, 0, 0],\n \"darksalmon\": [233, 150, 122],\n \"darkseagreen\": [143, 188, 143],\n \"darkslateblue\": [72, 61, 139],\n \"darkslategray\": [47, 79, 79],\n \"darkslategrey\": [47, 79, 79],\n \"darkturquoise\": [0, 206, 209],\n \"darkviolet\": [148, 0, 211],\n \"deeppink\": [255, 20, 147],\n \"deepskyblue\": [0, 191, 255],\n \"dimgray\": [105, 105, 105],\n \"dimgrey\": [105, 105, 105],\n \"dodgerblue\": [30, 144, 255],\n \"firebrick\": [178, 34, 34],\n \"floralwhite\": [255, 250, 240],\n \"forestgreen\": [34, 139, 34],\n \"fuchsia\": [255, 0, 255],\n \"gainsboro\": [220, 220, 220],\n \"ghostwhite\": [248, 248, 255],\n \"gold\": [255, 215, 0],\n \"goldenrod\": [218, 165, 32],\n \"gray\": [128, 128, 128],\n \"green\": [0, 128, 0],\n \"greenyellow\": [173, 255, 47],\n \"grey\": [128, 128, 128],\n \"honeydew\": [240, 255, 240],\n \"hotpink\": [255, 105, 180],\n \"indianred\": [205, 92, 92],\n \"indigo\": [75, 0, 130],\n \"ivory\": [255, 255, 240],\n \"khaki\": [240, 230, 140],\n \"lavender\": [230, 230, 250],\n \"lavenderblush\": [255, 240, 245],\n \"lawngreen\": [124, 252, 0],\n \"lemonchiffon\": [255, 250, 205],\n \"lightblue\": [173, 216, 230],\n \"lightcoral\": [240, 128, 128],\n \"lightcyan\": [224, 255, 255],\n \"lightgoldenrodyellow\": [250, 250, 210],\n \"lightgray\": [211, 211, 211],\n \"lightgreen\": [144, 238, 144],\n \"lightgrey\": [211, 211, 211],\n \"lightpink\": [255, 182, 193],\n \"lightsalmon\": [255, 160, 122],\n \"lightseagreen\": [32, 178, 170],\n \"lightskyblue\": [135, 206, 250],\n \"lightslategray\": [119, 136, 153],\n \"lightslategrey\": [119, 136, 153],\n \"lightsteelblue\": [176, 196, 222],\n \"lightyellow\": [255, 255, 224],\n \"lime\": [0, 255, 0],\n \"limegreen\": [50, 205, 50],\n \"linen\": [250, 240, 230],\n \"magenta\": [255, 0, 255],\n \"maroon\": [128, 0, 0],\n \"mediumaquamarine\": [102, 205, 170],\n \"mediumblue\": [0, 0, 205],\n \"mediumorchid\": [186, 85, 211],\n \"mediumpurple\": [147, 112, 219],\n \"mediumseagreen\": [60, 179, 113],\n \"mediumslateblue\": [123, 104, 238],\n \"mediumspringgreen\": [0, 250, 154],\n \"mediumturquoise\": [72, 209, 204],\n \"mediumvioletred\": [199, 21, 133],\n \"midnightblue\": [25, 25, 112],\n \"mintcream\": [245, 255, 250],\n \"mistyrose\": [255, 228, 225],\n \"moccasin\": [255, 228, 181],\n \"navajowhite\": [255, 222, 173],\n \"navy\": [0, 0, 128],\n \"oldlace\": [253, 245, 230],\n \"olive\": [128, 128, 0],\n \"olivedrab\": [107, 142, 35],\n \"orange\": [255, 165, 0],\n \"orangered\": [255, 69, 0],\n \"orchid\": [218, 112, 214],\n \"palegoldenrod\": [238, 232, 170],\n \"palegreen\": [152, 251, 152],\n \"paleturquoise\": [175, 238, 238],\n \"palevioletred\": [219, 112, 147],\n \"papayawhip\": [255, 239, 213],\n \"peachpuff\": [255, 218, 185],\n \"peru\": [205, 133, 63],\n \"pink\": [255, 192, 203],\n \"plum\": [221, 160, 221],\n \"powderblue\": [176, 224, 230],\n \"purple\": [128, 0, 128],\n \"rebeccapurple\": [102, 51, 153],\n \"red\": [255, 0, 0],\n \"rosybrown\": [188, 143, 143],\n \"royalblue\": [65, 105, 225],\n \"saddlebrown\": [139, 69, 19],\n \"salmon\": [250, 128, 114],\n \"sandybrown\": [244, 164, 96],\n \"seagreen\": [46, 139, 87],\n \"seashell\": [255, 245, 238],\n \"sienna\": [160, 82, 45],\n \"silver\": [192, 192, 192],\n \"skyblue\": [135, 206, 235],\n \"slateblue\": [106, 90, 205],\n \"slategray\": [112, 128, 144],\n \"slategrey\": [112, 128, 144],\n \"snow\": [255, 250, 250],\n \"springgreen\": [0, 255, 127],\n \"steelblue\": [70, 130, 180],\n \"tan\": [210, 180, 140],\n \"teal\": [0, 128, 128],\n \"thistle\": [216, 191, 216],\n \"tomato\": [255, 99, 71],\n \"turquoise\": [64, 224, 208],\n \"violet\": [238, 130, 238],\n \"wheat\": [245, 222, 179],\n \"white\": [255, 255, 255],\n \"whitesmoke\": [245, 245, 245],\n \"yellow\": [255, 255, 0],\n \"yellowgreen\": [154, 205, 50]\n };\n var conversions = createCommonjsModule(function (module) {\n /* MIT license */\n\n // NOTE: conversions should only return primitive values (i.e. arrays, or\n // values that give correct `typeof` results).\n // do not use box values types (i.e. Number(), String(), etc.)\n\n var reverseKeywords = {};\n for (var key in colorName) {\n if (colorName.hasOwnProperty(key)) {\n reverseKeywords[colorName[key]] = key;\n }\n }\n var convert = module.exports = {\n rgb: {\n channels: 3,\n labels: 'rgb'\n },\n hsl: {\n channels: 3,\n labels: 'hsl'\n },\n hsv: {\n channels: 3,\n labels: 'hsv'\n },\n hwb: {\n channels: 3,\n labels: 'hwb'\n },\n cmyk: {\n channels: 4,\n labels: 'cmyk'\n },\n xyz: {\n channels: 3,\n labels: 'xyz'\n },\n lab: {\n channels: 3,\n labels: 'lab'\n },\n lch: {\n channels: 3,\n labels: 'lch'\n },\n hex: {\n channels: 1,\n labels: ['hex']\n },\n keyword: {\n channels: 1,\n labels: ['keyword']\n },\n ansi16: {\n channels: 1,\n labels: ['ansi16']\n },\n ansi256: {\n channels: 1,\n labels: ['ansi256']\n },\n hcg: {\n channels: 3,\n labels: ['h', 'c', 'g']\n },\n apple: {\n channels: 3,\n labels: ['r16', 'g16', 'b16']\n },\n gray: {\n channels: 1,\n labels: ['gray']\n }\n };\n\n // hide .channels and .labels properties\n for (var model in convert) {\n if (convert.hasOwnProperty(model)) {\n if (!('channels' in convert[model])) {\n throw new Error('missing channels property: ' + model);\n }\n if (!('labels' in convert[model])) {\n throw new Error('missing channel labels property: ' + model);\n }\n if (convert[model].labels.length !== convert[model].channels) {\n throw new Error('channel and label counts mismatch: ' + model);\n }\n var channels = convert[model].channels;\n var labels = convert[model].labels;\n delete convert[model].channels;\n delete convert[model].labels;\n Object.defineProperty(convert[model], 'channels', {\n value: channels\n });\n Object.defineProperty(convert[model], 'labels', {\n value: labels\n });\n }\n }\n convert.rgb.hsl = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var delta = max - min;\n var h;\n var s;\n var l;\n if (max === min) {\n h = 0;\n } else if (r === max) {\n h = (g - b) / delta;\n } else if (g === max) {\n h = 2 + (b - r) / delta;\n } else if (b === max) {\n h = 4 + (r - g) / delta;\n }\n h = Math.min(h * 60, 360);\n if (h < 0) {\n h += 360;\n }\n l = (min + max) / 2;\n if (max === min) {\n s = 0;\n } else if (l <= 0.5) {\n s = delta / (max + min);\n } else {\n s = delta / (2 - max - min);\n }\n return [h, s * 100, l * 100];\n };\n convert.rgb.hsv = function (rgb) {\n var rdif;\n var gdif;\n var bdif;\n var h;\n var s;\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var v = Math.max(r, g, b);\n var diff = v - Math.min(r, g, b);\n var diffc = function diffc(c) {\n return (v - c) / 6 / diff + 1 / 2;\n };\n if (diff === 0) {\n h = s = 0;\n } else {\n s = diff / v;\n rdif = diffc(r);\n gdif = diffc(g);\n bdif = diffc(b);\n if (r === v) {\n h = bdif - gdif;\n } else if (g === v) {\n h = 1 / 3 + rdif - bdif;\n } else if (b === v) {\n h = 2 / 3 + gdif - rdif;\n }\n if (h < 0) {\n h += 1;\n } else if (h > 1) {\n h -= 1;\n }\n }\n return [h * 360, s * 100, v * 100];\n };\n convert.rgb.hwb = function (rgb) {\n var r = rgb[0];\n var g = rgb[1];\n var b = rgb[2];\n var h = convert.rgb.hsl(rgb)[0];\n var w = 1 / 255 * Math.min(r, Math.min(g, b));\n b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n return [h, w * 100, b * 100];\n };\n convert.rgb.cmyk = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var c;\n var m;\n var y;\n var k;\n k = Math.min(1 - r, 1 - g, 1 - b);\n c = (1 - r - k) / (1 - k) || 0;\n m = (1 - g - k) / (1 - k) || 0;\n y = (1 - b - k) / (1 - k) || 0;\n return [c * 100, m * 100, y * 100, k * 100];\n };\n\n /**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\n function comparativeDistance(x, y) {\n return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);\n }\n convert.rgb.keyword = function (rgb) {\n var reversed = reverseKeywords[rgb];\n if (reversed) {\n return reversed;\n }\n var currentClosestDistance = Infinity;\n var currentClosestKeyword;\n for (var keyword in colorName) {\n if (colorName.hasOwnProperty(keyword)) {\n var value = colorName[keyword];\n\n // Compute comparative distance\n var distance = comparativeDistance(rgb, value);\n\n // Check if its less, if so set as closest\n if (distance < currentClosestDistance) {\n currentClosestDistance = distance;\n currentClosestKeyword = keyword;\n }\n }\n }\n return currentClosestKeyword;\n };\n convert.keyword.rgb = function (keyword) {\n return colorName[keyword];\n };\n convert.rgb.xyz = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n\n // assume sRGB\n r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;\n g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;\n b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;\n var x = r * 0.4124 + g * 0.3576 + b * 0.1805;\n var y = r * 0.2126 + g * 0.7152 + b * 0.0722;\n var z = r * 0.0193 + g * 0.1192 + b * 0.9505;\n return [x * 100, y * 100, z * 100];\n };\n convert.rgb.lab = function (rgb) {\n var xyz = convert.rgb.xyz(rgb);\n var x = xyz[0];\n var y = xyz[1];\n var z = xyz[2];\n var l;\n var a;\n var b;\n x /= 95.047;\n y /= 100;\n z /= 108.883;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n l = 116 * y - 16;\n a = 500 * (x - y);\n b = 200 * (y - z);\n return [l, a, b];\n };\n convert.hsl.rgb = function (hsl) {\n var h = hsl[0] / 360;\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var t1;\n var t2;\n var t3;\n var rgb;\n var val;\n if (s === 0) {\n val = l * 255;\n return [val, val, val];\n }\n if (l < 0.5) {\n t2 = l * (1 + s);\n } else {\n t2 = l + s - l * s;\n }\n t1 = 2 * l - t2;\n rgb = [0, 0, 0];\n for (var i = 0; i < 3; i++) {\n t3 = h + 1 / 3 * -(i - 1);\n if (t3 < 0) {\n t3++;\n }\n if (t3 > 1) {\n t3--;\n }\n if (6 * t3 < 1) {\n val = t1 + (t2 - t1) * 6 * t3;\n } else if (2 * t3 < 1) {\n val = t2;\n } else if (3 * t3 < 2) {\n val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n } else {\n val = t1;\n }\n rgb[i] = val * 255;\n }\n return rgb;\n };\n convert.hsl.hsv = function (hsl) {\n var h = hsl[0];\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var smin = s;\n var lmin = Math.max(l, 0.01);\n var sv;\n var v;\n l *= 2;\n s *= l <= 1 ? l : 2 - l;\n smin *= lmin <= 1 ? lmin : 2 - lmin;\n v = (l + s) / 2;\n sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);\n return [h, sv * 100, v * 100];\n };\n convert.hsv.rgb = function (hsv) {\n var h = hsv[0] / 60;\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var hi = Math.floor(h) % 6;\n var f = h - Math.floor(h);\n var p = 255 * v * (1 - s);\n var q = 255 * v * (1 - s * f);\n var t = 255 * v * (1 - s * (1 - f));\n v *= 255;\n switch (hi) {\n case 0:\n return [v, t, p];\n case 1:\n return [q, v, p];\n case 2:\n return [p, v, t];\n case 3:\n return [p, q, v];\n case 4:\n return [t, p, v];\n case 5:\n return [v, p, q];\n }\n };\n convert.hsv.hsl = function (hsv) {\n var h = hsv[0];\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var vmin = Math.max(v, 0.01);\n var lmin;\n var sl;\n var l;\n l = (2 - s) * v;\n lmin = (2 - s) * vmin;\n sl = s * vmin;\n sl /= lmin <= 1 ? lmin : 2 - lmin;\n sl = sl || 0;\n l /= 2;\n return [h, sl * 100, l * 100];\n };\n\n // http://dev.w3.org/csswg/css-color/#hwb-to-rgb\n convert.hwb.rgb = function (hwb) {\n var h = hwb[0] / 360;\n var wh = hwb[1] / 100;\n var bl = hwb[2] / 100;\n var ratio = wh + bl;\n var i;\n var v;\n var f;\n var n;\n\n // wh + bl cant be > 1\n if (ratio > 1) {\n wh /= ratio;\n bl /= ratio;\n }\n i = Math.floor(6 * h);\n v = 1 - bl;\n f = 6 * h - i;\n if ((i & 0x01) !== 0) {\n f = 1 - f;\n }\n n = wh + f * (v - wh); // linear interpolation\n\n var r;\n var g;\n var b;\n switch (i) {\n default:\n case 6:\n case 0:\n r = v;\n g = n;\n b = wh;\n break;\n case 1:\n r = n;\n g = v;\n b = wh;\n break;\n case 2:\n r = wh;\n g = v;\n b = n;\n break;\n case 3:\n r = wh;\n g = n;\n b = v;\n break;\n case 4:\n r = n;\n g = wh;\n b = v;\n break;\n case 5:\n r = v;\n g = wh;\n b = n;\n break;\n }\n return [r * 255, g * 255, b * 255];\n };\n convert.cmyk.rgb = function (cmyk) {\n var c = cmyk[0] / 100;\n var m = cmyk[1] / 100;\n var y = cmyk[2] / 100;\n var k = cmyk[3] / 100;\n var r;\n var g;\n var b;\n r = 1 - Math.min(1, c * (1 - k) + k);\n g = 1 - Math.min(1, m * (1 - k) + k);\n b = 1 - Math.min(1, y * (1 - k) + k);\n return [r * 255, g * 255, b * 255];\n };\n convert.xyz.rgb = function (xyz) {\n var x = xyz[0] / 100;\n var y = xyz[1] / 100;\n var z = xyz[2] / 100;\n var r;\n var g;\n var b;\n r = x * 3.2406 + y * -1.5372 + z * -0.4986;\n g = x * -0.9689 + y * 1.8758 + z * 0.0415;\n b = x * 0.0557 + y * -0.2040 + z * 1.0570;\n\n // assume sRGB\n r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92;\n g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92;\n b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92;\n r = Math.min(Math.max(0, r), 1);\n g = Math.min(Math.max(0, g), 1);\n b = Math.min(Math.max(0, b), 1);\n return [r * 255, g * 255, b * 255];\n };\n convert.xyz.lab = function (xyz) {\n var x = xyz[0];\n var y = xyz[1];\n var z = xyz[2];\n var l;\n var a;\n var b;\n x /= 95.047;\n y /= 100;\n z /= 108.883;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n l = 116 * y - 16;\n a = 500 * (x - y);\n b = 200 * (y - z);\n return [l, a, b];\n };\n convert.lab.xyz = function (lab) {\n var l = lab[0];\n var a = lab[1];\n var b = lab[2];\n var x;\n var y;\n var z;\n y = (l + 16) / 116;\n x = a / 500 + y;\n z = y - b / 200;\n var y2 = Math.pow(y, 3);\n var x2 = Math.pow(x, 3);\n var z2 = Math.pow(z, 3);\n y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n x *= 95.047;\n y *= 100;\n z *= 108.883;\n return [x, y, z];\n };\n convert.lab.lch = function (lab) {\n var l = lab[0];\n var a = lab[1];\n var b = lab[2];\n var hr;\n var h;\n var c;\n hr = Math.atan2(b, a);\n h = hr * 360 / 2 / Math.PI;\n if (h < 0) {\n h += 360;\n }\n c = Math.sqrt(a * a + b * b);\n return [l, c, h];\n };\n convert.lch.lab = function (lch) {\n var l = lch[0];\n var c = lch[1];\n var h = lch[2];\n var a;\n var b;\n var hr;\n hr = h / 360 * 2 * Math.PI;\n a = c * Math.cos(hr);\n b = c * Math.sin(hr);\n return [l, a, b];\n };\n convert.rgb.ansi16 = function (args) {\n var r = args[0];\n var g = args[1];\n var b = args[2];\n var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n value = Math.round(value / 50);\n if (value === 0) {\n return 30;\n }\n var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));\n if (value === 2) {\n ansi += 60;\n }\n return ansi;\n };\n convert.hsv.ansi16 = function (args) {\n // optimization here; we already know the value and don't need to get\n // it converted for us.\n return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n };\n convert.rgb.ansi256 = function (args) {\n var r = args[0];\n var g = args[1];\n var b = args[2];\n\n // we use the extended greyscale palette here, with the exception of\n // black and white. normal palette only has 4 greyscale shades.\n if (r === g && g === b) {\n if (r < 8) {\n return 16;\n }\n if (r > 248) {\n return 231;\n }\n return Math.round((r - 8) / 247 * 24) + 232;\n }\n var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);\n return ansi;\n };\n convert.ansi16.rgb = function (args) {\n var color = args % 10;\n\n // handle greyscale\n if (color === 0 || color === 7) {\n if (args > 50) {\n color += 3.5;\n }\n color = color / 10.5 * 255;\n return [color, color, color];\n }\n var mult = (~~(args > 50) + 1) * 0.5;\n var r = (color & 1) * mult * 255;\n var g = (color >> 1 & 1) * mult * 255;\n var b = (color >> 2 & 1) * mult * 255;\n return [r, g, b];\n };\n convert.ansi256.rgb = function (args) {\n // handle greyscale\n if (args >= 232) {\n var c = (args - 232) * 10 + 8;\n return [c, c, c];\n }\n args -= 16;\n var rem;\n var r = Math.floor(args / 36) / 5 * 255;\n var g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n var b = rem % 6 / 5 * 255;\n return [r, g, b];\n };\n convert.rgb.hex = function (args) {\n var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF);\n var string = integer.toString(16).toUpperCase();\n return '000000'.substring(string.length) + string;\n };\n convert.hex.rgb = function (args) {\n var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n if (!match) {\n return [0, 0, 0];\n }\n var colorString = match[0];\n if (match[0].length === 3) {\n colorString = colorString.split('').map(function (_char) {\n return _char + _char;\n }).join('');\n }\n var integer = parseInt(colorString, 16);\n var r = integer >> 16 & 0xFF;\n var g = integer >> 8 & 0xFF;\n var b = integer & 0xFF;\n return [r, g, b];\n };\n convert.rgb.hcg = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var max = Math.max(Math.max(r, g), b);\n var min = Math.min(Math.min(r, g), b);\n var chroma = max - min;\n var grayscale;\n var hue;\n if (chroma < 1) {\n grayscale = min / (1 - chroma);\n } else {\n grayscale = 0;\n }\n if (chroma <= 0) {\n hue = 0;\n } else if (max === r) {\n hue = (g - b) / chroma % 6;\n } else if (max === g) {\n hue = 2 + (b - r) / chroma;\n } else {\n hue = 4 + (r - g) / chroma + 4;\n }\n hue /= 6;\n hue %= 1;\n return [hue * 360, chroma * 100, grayscale * 100];\n };\n convert.hsl.hcg = function (hsl) {\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var c = 1;\n var f = 0;\n if (l < 0.5) {\n c = 2.0 * s * l;\n } else {\n c = 2.0 * s * (1.0 - l);\n }\n if (c < 1.0) {\n f = (l - 0.5 * c) / (1.0 - c);\n }\n return [hsl[0], c * 100, f * 100];\n };\n convert.hsv.hcg = function (hsv) {\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var c = s * v;\n var f = 0;\n if (c < 1.0) {\n f = (v - c) / (1 - c);\n }\n return [hsv[0], c * 100, f * 100];\n };\n convert.hcg.rgb = function (hcg) {\n var h = hcg[0] / 360;\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n if (c === 0.0) {\n return [g * 255, g * 255, g * 255];\n }\n var pure = [0, 0, 0];\n var hi = h % 1 * 6;\n var v = hi % 1;\n var w = 1 - v;\n var mg = 0;\n switch (Math.floor(hi)) {\n case 0:\n pure[0] = 1;\n pure[1] = v;\n pure[2] = 0;\n break;\n case 1:\n pure[0] = w;\n pure[1] = 1;\n pure[2] = 0;\n break;\n case 2:\n pure[0] = 0;\n pure[1] = 1;\n pure[2] = v;\n break;\n case 3:\n pure[0] = 0;\n pure[1] = w;\n pure[2] = 1;\n break;\n case 4:\n pure[0] = v;\n pure[1] = 0;\n pure[2] = 1;\n break;\n default:\n pure[0] = 1;\n pure[1] = 0;\n pure[2] = w;\n }\n mg = (1.0 - c) * g;\n return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255];\n };\n convert.hcg.hsv = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var v = c + g * (1.0 - c);\n var f = 0;\n if (v > 0.0) {\n f = c / v;\n }\n return [hcg[0], f * 100, v * 100];\n };\n convert.hcg.hsl = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var l = g * (1.0 - c) + 0.5 * c;\n var s = 0;\n if (l > 0.0 && l < 0.5) {\n s = c / (2 * l);\n } else if (l >= 0.5 && l < 1.0) {\n s = c / (2 * (1 - l));\n }\n return [hcg[0], s * 100, l * 100];\n };\n convert.hcg.hwb = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var v = c + g * (1.0 - c);\n return [hcg[0], (v - c) * 100, (1 - v) * 100];\n };\n convert.hwb.hcg = function (hwb) {\n var w = hwb[1] / 100;\n var b = hwb[2] / 100;\n var v = 1 - b;\n var c = v - w;\n var g = 0;\n if (c < 1) {\n g = (v - c) / (1 - c);\n }\n return [hwb[0], c * 100, g * 100];\n };\n convert.apple.rgb = function (apple) {\n return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];\n };\n convert.rgb.apple = function (rgb) {\n return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];\n };\n convert.gray.rgb = function (args) {\n return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n };\n convert.gray.hsl = convert.gray.hsv = function (args) {\n return [0, 0, args[0]];\n };\n convert.gray.hwb = function (gray) {\n return [0, 100, gray[0]];\n };\n convert.gray.cmyk = function (gray) {\n return [0, 0, 0, gray[0]];\n };\n convert.gray.lab = function (gray) {\n return [gray[0], 0, 0];\n };\n convert.gray.hex = function (gray) {\n var val = Math.round(gray[0] / 100 * 255) & 0xFF;\n var integer = (val << 16) + (val << 8) + val;\n var string = integer.toString(16).toUpperCase();\n return '000000'.substring(string.length) + string;\n };\n convert.rgb.gray = function (rgb) {\n var val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n return [val / 255 * 100];\n };\n });\n var conversions_1 = conversions.rgb;\n var conversions_2 = conversions.hsl;\n var conversions_3 = conversions.hsv;\n var conversions_4 = conversions.hwb;\n var conversions_5 = conversions.cmyk;\n var conversions_6 = conversions.xyz;\n var conversions_7 = conversions.lab;\n var conversions_8 = conversions.lch;\n var conversions_9 = conversions.hex;\n var conversions_10 = conversions.keyword;\n var conversions_11 = conversions.ansi16;\n var conversions_12 = conversions.ansi256;\n var conversions_13 = conversions.hcg;\n var conversions_14 = conversions.apple;\n var conversions_15 = conversions.gray;\n\n /*\n \tthis function routes a model to all other models.\n \n \tall functions that are routed have a property `.conversion` attached\n \tto the returned synthetic function. This property is an array\n \tof strings, each with the steps in between the 'from' and 'to'\n \tcolor models (inclusive).\n \n \tconversions that are not possible simply are not included.\n */\n\n function buildGraph() {\n var graph = {};\n // https://jsperf.com/object-keys-vs-for-in-with-closure/3\n var models = Object.keys(conversions);\n for (var len = models.length, i = 0; i < len; i++) {\n graph[models[i]] = {\n // http://jsperf.com/1-vs-infinity\n // micro-opt, but this is simple.\n distance: -1,\n parent: null\n };\n }\n return graph;\n }\n\n // https://en.wikipedia.org/wiki/Breadth-first_search\n function deriveBFS(fromModel) {\n var graph = buildGraph();\n var queue = [fromModel]; // unshift -> queue -> pop\n\n graph[fromModel].distance = 0;\n while (queue.length) {\n var current = queue.pop();\n var adjacents = Object.keys(conversions[current]);\n for (var len = adjacents.length, i = 0; i < len; i++) {\n var adjacent = adjacents[i];\n var node = graph[adjacent];\n if (node.distance === -1) {\n node.distance = graph[current].distance + 1;\n node.parent = current;\n queue.unshift(adjacent);\n }\n }\n }\n return graph;\n }\n function link(from, to) {\n return function (args) {\n return to(from(args));\n };\n }\n function wrapConversion(toModel, graph) {\n var path = [graph[toModel].parent, toModel];\n var fn = conversions[graph[toModel].parent][toModel];\n var cur = graph[toModel].parent;\n while (graph[cur].parent) {\n path.unshift(graph[cur].parent);\n fn = link(conversions[graph[cur].parent][cur], fn);\n cur = graph[cur].parent;\n }\n fn.conversion = path;\n return fn;\n }\n var route = function route(fromModel) {\n var graph = deriveBFS(fromModel);\n var conversion = {};\n var models = Object.keys(graph);\n for (var len = models.length, i = 0; i < len; i++) {\n var toModel = models[i];\n var node = graph[toModel];\n if (node.parent === null) {\n // no possible conversion, or this node is the source model.\n continue;\n }\n conversion[toModel] = wrapConversion(toModel, graph);\n }\n return conversion;\n };\n var convert = {};\n var models = Object.keys(conversions);\n function wrapRaw(fn) {\n var wrappedFn = function wrappedFn(args) {\n if (args === undefined || args === null) {\n return args;\n }\n if (arguments.length > 1) {\n args = Array.prototype.slice.call(arguments);\n }\n return fn(args);\n };\n\n // preserve .conversion property if there is one\n if ('conversion' in fn) {\n wrappedFn.conversion = fn.conversion;\n }\n return wrappedFn;\n }\n function wrapRounded(fn) {\n var wrappedFn = function wrappedFn(args) {\n if (args === undefined || args === null) {\n return args;\n }\n if (arguments.length > 1) {\n args = Array.prototype.slice.call(arguments);\n }\n var result = fn(args);\n\n // we're assuming the result is an array here.\n // see notice in conversions.js; don't use box types\n // in conversion functions.\n if (_typeof(result) === 'object') {\n for (var len = result.length, i = 0; i < len; i++) {\n result[i] = Math.round(result[i]);\n }\n }\n return result;\n };\n\n // preserve .conversion property if there is one\n if ('conversion' in fn) {\n wrappedFn.conversion = fn.conversion;\n }\n return wrappedFn;\n }\n models.forEach(function (fromModel) {\n convert[fromModel] = {};\n Object.defineProperty(convert[fromModel], 'channels', {\n value: conversions[fromModel].channels\n });\n Object.defineProperty(convert[fromModel], 'labels', {\n value: conversions[fromModel].labels\n });\n var routes = route(fromModel);\n var routeModels = Object.keys(routes);\n routeModels.forEach(function (toModel) {\n var fn = routes[toModel];\n convert[fromModel][toModel] = wrapRounded(fn);\n convert[fromModel][toModel].raw = wrapRaw(fn);\n });\n });\n var colorConvert = convert;\n var colorName$1 = {\n \"aliceblue\": [240, 248, 255],\n \"antiquewhite\": [250, 235, 215],\n \"aqua\": [0, 255, 255],\n \"aquamarine\": [127, 255, 212],\n \"azure\": [240, 255, 255],\n \"beige\": [245, 245, 220],\n \"bisque\": [255, 228, 196],\n \"black\": [0, 0, 0],\n \"blanchedalmond\": [255, 235, 205],\n \"blue\": [0, 0, 255],\n \"blueviolet\": [138, 43, 226],\n \"brown\": [165, 42, 42],\n \"burlywood\": [222, 184, 135],\n \"cadetblue\": [95, 158, 160],\n \"chartreuse\": [127, 255, 0],\n \"chocolate\": [210, 105, 30],\n \"coral\": [255, 127, 80],\n \"cornflowerblue\": [100, 149, 237],\n \"cornsilk\": [255, 248, 220],\n \"crimson\": [220, 20, 60],\n \"cyan\": [0, 255, 255],\n \"darkblue\": [0, 0, 139],\n \"darkcyan\": [0, 139, 139],\n \"darkgoldenrod\": [184, 134, 11],\n \"darkgray\": [169, 169, 169],\n \"darkgreen\": [0, 100, 0],\n \"darkgrey\": [169, 169, 169],\n \"darkkhaki\": [189, 183, 107],\n \"darkmagenta\": [139, 0, 139],\n \"darkolivegreen\": [85, 107, 47],\n \"darkorange\": [255, 140, 0],\n \"darkorchid\": [153, 50, 204],\n \"darkred\": [139, 0, 0],\n \"darksalmon\": [233, 150, 122],\n \"darkseagreen\": [143, 188, 143],\n \"darkslateblue\": [72, 61, 139],\n \"darkslategray\": [47, 79, 79],\n \"darkslategrey\": [47, 79, 79],\n \"darkturquoise\": [0, 206, 209],\n \"darkviolet\": [148, 0, 211],\n \"deeppink\": [255, 20, 147],\n \"deepskyblue\": [0, 191, 255],\n \"dimgray\": [105, 105, 105],\n \"dimgrey\": [105, 105, 105],\n \"dodgerblue\": [30, 144, 255],\n \"firebrick\": [178, 34, 34],\n \"floralwhite\": [255, 250, 240],\n \"forestgreen\": [34, 139, 34],\n \"fuchsia\": [255, 0, 255],\n \"gainsboro\": [220, 220, 220],\n \"ghostwhite\": [248, 248, 255],\n \"gold\": [255, 215, 0],\n \"goldenrod\": [218, 165, 32],\n \"gray\": [128, 128, 128],\n \"green\": [0, 128, 0],\n \"greenyellow\": [173, 255, 47],\n \"grey\": [128, 128, 128],\n \"honeydew\": [240, 255, 240],\n \"hotpink\": [255, 105, 180],\n \"indianred\": [205, 92, 92],\n \"indigo\": [75, 0, 130],\n \"ivory\": [255, 255, 240],\n \"khaki\": [240, 230, 140],\n \"lavender\": [230, 230, 250],\n \"lavenderblush\": [255, 240, 245],\n \"lawngreen\": [124, 252, 0],\n \"lemonchiffon\": [255, 250, 205],\n \"lightblue\": [173, 216, 230],\n \"lightcoral\": [240, 128, 128],\n \"lightcyan\": [224, 255, 255],\n \"lightgoldenrodyellow\": [250, 250, 210],\n \"lightgray\": [211, 211, 211],\n \"lightgreen\": [144, 238, 144],\n \"lightgrey\": [211, 211, 211],\n \"lightpink\": [255, 182, 193],\n \"lightsalmon\": [255, 160, 122],\n \"lightseagreen\": [32, 178, 170],\n \"lightskyblue\": [135, 206, 250],\n \"lightslategray\": [119, 136, 153],\n \"lightslategrey\": [119, 136, 153],\n \"lightsteelblue\": [176, 196, 222],\n \"lightyellow\": [255, 255, 224],\n \"lime\": [0, 255, 0],\n \"limegreen\": [50, 205, 50],\n \"linen\": [250, 240, 230],\n \"magenta\": [255, 0, 255],\n \"maroon\": [128, 0, 0],\n \"mediumaquamarine\": [102, 205, 170],\n \"mediumblue\": [0, 0, 205],\n \"mediumorchid\": [186, 85, 211],\n \"mediumpurple\": [147, 112, 219],\n \"mediumseagreen\": [60, 179, 113],\n \"mediumslateblue\": [123, 104, 238],\n \"mediumspringgreen\": [0, 250, 154],\n \"mediumturquoise\": [72, 209, 204],\n \"mediumvioletred\": [199, 21, 133],\n \"midnightblue\": [25, 25, 112],\n \"mintcream\": [245, 255, 250],\n \"mistyrose\": [255, 228, 225],\n \"moccasin\": [255, 228, 181],\n \"navajowhite\": [255, 222, 173],\n \"navy\": [0, 0, 128],\n \"oldlace\": [253, 245, 230],\n \"olive\": [128, 128, 0],\n \"olivedrab\": [107, 142, 35],\n \"orange\": [255, 165, 0],\n \"orangered\": [255, 69, 0],\n \"orchid\": [218, 112, 214],\n \"palegoldenrod\": [238, 232, 170],\n \"palegreen\": [152, 251, 152],\n \"paleturquoise\": [175, 238, 238],\n \"palevioletred\": [219, 112, 147],\n \"papayawhip\": [255, 239, 213],\n \"peachpuff\": [255, 218, 185],\n \"peru\": [205, 133, 63],\n \"pink\": [255, 192, 203],\n \"plum\": [221, 160, 221],\n \"powderblue\": [176, 224, 230],\n \"purple\": [128, 0, 128],\n \"rebeccapurple\": [102, 51, 153],\n \"red\": [255, 0, 0],\n \"rosybrown\": [188, 143, 143],\n \"royalblue\": [65, 105, 225],\n \"saddlebrown\": [139, 69, 19],\n \"salmon\": [250, 128, 114],\n \"sandybrown\": [244, 164, 96],\n \"seagreen\": [46, 139, 87],\n \"seashell\": [255, 245, 238],\n \"sienna\": [160, 82, 45],\n \"silver\": [192, 192, 192],\n \"skyblue\": [135, 206, 235],\n \"slateblue\": [106, 90, 205],\n \"slategray\": [112, 128, 144],\n \"slategrey\": [112, 128, 144],\n \"snow\": [255, 250, 250],\n \"springgreen\": [0, 255, 127],\n \"steelblue\": [70, 130, 180],\n \"tan\": [210, 180, 140],\n \"teal\": [0, 128, 128],\n \"thistle\": [216, 191, 216],\n \"tomato\": [255, 99, 71],\n \"turquoise\": [64, 224, 208],\n \"violet\": [238, 130, 238],\n \"wheat\": [245, 222, 179],\n \"white\": [255, 255, 255],\n \"whitesmoke\": [245, 245, 245],\n \"yellow\": [255, 255, 0],\n \"yellowgreen\": [154, 205, 50]\n };\n\n /* MIT license */\n\n var colorString = {\n getRgba: getRgba,\n getHsla: getHsla,\n getRgb: getRgb,\n getHsl: getHsl,\n getHwb: getHwb,\n getAlpha: getAlpha,\n hexString: hexString,\n rgbString: rgbString,\n rgbaString: rgbaString,\n percentString: percentString,\n percentaString: percentaString,\n hslString: hslString,\n hslaString: hslaString,\n hwbString: hwbString,\n keyword: keyword\n };\n function getRgba(string) {\n if (!string) {\n return;\n }\n var abbr = /^#([a-fA-F0-9]{3,4})$/i,\n hex = /^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i,\n rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n keyword = /(\\w+)/;\n var rgb = [0, 0, 0],\n a = 1,\n match = string.match(abbr),\n hexAlpha = \"\";\n if (match) {\n match = match[1];\n hexAlpha = match[3];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i] + match[i], 16);\n }\n if (hexAlpha) {\n a = Math.round(parseInt(hexAlpha + hexAlpha, 16) / 255 * 100) / 100;\n }\n } else if (match = string.match(hex)) {\n hexAlpha = match[2];\n match = match[1];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\n }\n if (hexAlpha) {\n a = Math.round(parseInt(hexAlpha, 16) / 255 * 100) / 100;\n }\n } else if (match = string.match(rgba)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i + 1]);\n }\n a = parseFloat(match[4]);\n } else if (match = string.match(per)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n }\n a = parseFloat(match[4]);\n } else if (match = string.match(keyword)) {\n if (match[1] == \"transparent\") {\n return [0, 0, 0, 0];\n }\n rgb = colorName$1[match[1]];\n if (!rgb) {\n return;\n }\n }\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = scale(rgb[i], 0, 255);\n }\n if (!a && a != 0) {\n a = 1;\n } else {\n a = scale(a, 0, 1);\n }\n rgb[3] = a;\n return rgb;\n }\n function getHsla(string) {\n if (!string) {\n return;\n }\n var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hsl);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n s = scale(parseFloat(match[2]), 0, 100),\n l = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, s, l, a];\n }\n }\n function getHwb(string) {\n if (!string) {\n return;\n }\n var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hwb);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n w = scale(parseFloat(match[2]), 0, 100),\n b = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, w, b, a];\n }\n }\n function getRgb(string) {\n var rgba = getRgba(string);\n return rgba && rgba.slice(0, 3);\n }\n function getHsl(string) {\n var hsla = getHsla(string);\n return hsla && hsla.slice(0, 3);\n }\n function getAlpha(string) {\n var vals = getRgba(string);\n if (vals) {\n return vals[3];\n } else if (vals = getHsla(string)) {\n return vals[3];\n } else if (vals = getHwb(string)) {\n return vals[3];\n }\n }\n\n // generators\n function hexString(rgba, a) {\n var a = a !== undefined && rgba.length === 3 ? a : rgba[3];\n return \"#\" + hexDouble(rgba[0]) + hexDouble(rgba[1]) + hexDouble(rgba[2]) + (a >= 0 && a < 1 ? hexDouble(Math.round(a * 255)) : \"\");\n }\n function rgbString(rgba, alpha) {\n if (alpha < 1 || rgba[3] && rgba[3] < 1) {\n return rgbaString(rgba, alpha);\n }\n return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\n }\n function rgbaString(rgba, alpha) {\n if (alpha === undefined) {\n alpha = rgba[3] !== undefined ? rgba[3] : 1;\n }\n return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \", \" + alpha + \")\";\n }\n function percentString(rgba, alpha) {\n if (alpha < 1 || rgba[3] && rgba[3] < 1) {\n return percentaString(rgba, alpha);\n }\n var r = Math.round(rgba[0] / 255 * 100),\n g = Math.round(rgba[1] / 255 * 100),\n b = Math.round(rgba[2] / 255 * 100);\n return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\n }\n function percentaString(rgba, alpha) {\n var r = Math.round(rgba[0] / 255 * 100),\n g = Math.round(rgba[1] / 255 * 100),\n b = Math.round(rgba[2] / 255 * 100);\n return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\n }\n function hslString(hsla, alpha) {\n if (alpha < 1 || hsla[3] && hsla[3] < 1) {\n return hslaString(hsla, alpha);\n }\n return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\n }\n function hslaString(hsla, alpha) {\n if (alpha === undefined) {\n alpha = hsla[3] !== undefined ? hsla[3] : 1;\n }\n return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \" + alpha + \")\";\n }\n\n // hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n // (hwb have alpha optional & 1 is default value)\n function hwbString(hwb, alpha) {\n if (alpha === undefined) {\n alpha = hwb[3] !== undefined ? hwb[3] : 1;\n }\n return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\" + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\n }\n function keyword(rgb) {\n return reverseNames[rgb.slice(0, 3)];\n }\n\n // helpers\n function scale(num, min, max) {\n return Math.min(Math.max(min, num), max);\n }\n function hexDouble(num) {\n var str = num.toString(16).toUpperCase();\n return str.length < 2 ? \"0\" + str : str;\n }\n\n //create a list of reverse color names\n var reverseNames = {};\n for (var name in colorName$1) {\n reverseNames[colorName$1[name]] = name;\n }\n\n /* MIT license */\n\n var Color = function Color(obj) {\n if (obj instanceof Color) {\n return obj;\n }\n if (!(this instanceof Color)) {\n return new Color(obj);\n }\n this.valid = false;\n this.values = {\n rgb: [0, 0, 0],\n hsl: [0, 0, 0],\n hsv: [0, 0, 0],\n hwb: [0, 0, 0],\n cmyk: [0, 0, 0, 0],\n alpha: 1\n };\n\n // parse Color() argument\n var vals;\n if (typeof obj === 'string') {\n vals = colorString.getRgba(obj);\n if (vals) {\n this.setValues('rgb', vals);\n } else if (vals = colorString.getHsla(obj)) {\n this.setValues('hsl', vals);\n } else if (vals = colorString.getHwb(obj)) {\n this.setValues('hwb', vals);\n }\n } else if (_typeof(obj) === 'object') {\n vals = obj;\n if (vals.r !== undefined || vals.red !== undefined) {\n this.setValues('rgb', vals);\n } else if (vals.l !== undefined || vals.lightness !== undefined) {\n this.setValues('hsl', vals);\n } else if (vals.v !== undefined || vals.value !== undefined) {\n this.setValues('hsv', vals);\n } else if (vals.w !== undefined || vals.whiteness !== undefined) {\n this.setValues('hwb', vals);\n } else if (vals.c !== undefined || vals.cyan !== undefined) {\n this.setValues('cmyk', vals);\n }\n }\n };\n Color.prototype = {\n isValid: function isValid() {\n return this.valid;\n },\n rgb: function rgb() {\n return this.setSpace('rgb', arguments);\n },\n hsl: function hsl() {\n return this.setSpace('hsl', arguments);\n },\n hsv: function hsv() {\n return this.setSpace('hsv', arguments);\n },\n hwb: function hwb() {\n return this.setSpace('hwb', arguments);\n },\n cmyk: function cmyk() {\n return this.setSpace('cmyk', arguments);\n },\n rgbArray: function rgbArray() {\n return this.values.rgb;\n },\n hslArray: function hslArray() {\n return this.values.hsl;\n },\n hsvArray: function hsvArray() {\n return this.values.hsv;\n },\n hwbArray: function hwbArray() {\n var values = this.values;\n if (values.alpha !== 1) {\n return values.hwb.concat([values.alpha]);\n }\n return values.hwb;\n },\n cmykArray: function cmykArray() {\n return this.values.cmyk;\n },\n rgbaArray: function rgbaArray() {\n var values = this.values;\n return values.rgb.concat([values.alpha]);\n },\n hslaArray: function hslaArray() {\n var values = this.values;\n return values.hsl.concat([values.alpha]);\n },\n alpha: function alpha(val) {\n if (val === undefined) {\n return this.values.alpha;\n }\n this.setValues('alpha', val);\n return this;\n },\n red: function red(val) {\n return this.setChannel('rgb', 0, val);\n },\n green: function green(val) {\n return this.setChannel('rgb', 1, val);\n },\n blue: function blue(val) {\n return this.setChannel('rgb', 2, val);\n },\n hue: function hue(val) {\n if (val) {\n val %= 360;\n val = val < 0 ? 360 + val : val;\n }\n return this.setChannel('hsl', 0, val);\n },\n saturation: function saturation(val) {\n return this.setChannel('hsl', 1, val);\n },\n lightness: function lightness(val) {\n return this.setChannel('hsl', 2, val);\n },\n saturationv: function saturationv(val) {\n return this.setChannel('hsv', 1, val);\n },\n whiteness: function whiteness(val) {\n return this.setChannel('hwb', 1, val);\n },\n blackness: function blackness(val) {\n return this.setChannel('hwb', 2, val);\n },\n value: function value(val) {\n return this.setChannel('hsv', 2, val);\n },\n cyan: function cyan(val) {\n return this.setChannel('cmyk', 0, val);\n },\n magenta: function magenta(val) {\n return this.setChannel('cmyk', 1, val);\n },\n yellow: function yellow(val) {\n return this.setChannel('cmyk', 2, val);\n },\n black: function black(val) {\n return this.setChannel('cmyk', 3, val);\n },\n hexString: function hexString() {\n return colorString.hexString(this.values.rgb);\n },\n rgbString: function rgbString() {\n return colorString.rgbString(this.values.rgb, this.values.alpha);\n },\n rgbaString: function rgbaString() {\n return colorString.rgbaString(this.values.rgb, this.values.alpha);\n },\n percentString: function percentString() {\n return colorString.percentString(this.values.rgb, this.values.alpha);\n },\n hslString: function hslString() {\n return colorString.hslString(this.values.hsl, this.values.alpha);\n },\n hslaString: function hslaString() {\n return colorString.hslaString(this.values.hsl, this.values.alpha);\n },\n hwbString: function hwbString() {\n return colorString.hwbString(this.values.hwb, this.values.alpha);\n },\n keyword: function keyword() {\n return colorString.keyword(this.values.rgb, this.values.alpha);\n },\n rgbNumber: function rgbNumber() {\n var rgb = this.values.rgb;\n return rgb[0] << 16 | rgb[1] << 8 | rgb[2];\n },\n luminosity: function luminosity() {\n // http://www.w3.org/TR/WCAG20/#relativeluminancedef\n var rgb = this.values.rgb;\n var lum = [];\n for (var i = 0; i < rgb.length; i++) {\n var chan = rgb[i] / 255;\n lum[i] = chan <= 0.03928 ? chan / 12.92 : Math.pow((chan + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n },\n contrast: function contrast(color2) {\n // http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n var lum1 = this.luminosity();\n var lum2 = color2.luminosity();\n if (lum1 > lum2) {\n return (lum1 + 0.05) / (lum2 + 0.05);\n }\n return (lum2 + 0.05) / (lum1 + 0.05);\n },\n level: function level(color2) {\n var contrastRatio = this.contrast(color2);\n if (contrastRatio >= 7.1) {\n return 'AAA';\n }\n return contrastRatio >= 4.5 ? 'AA' : '';\n },\n dark: function dark() {\n // YIQ equation from http://24ways.org/2010/calculating-color-contrast\n var rgb = this.values.rgb;\n var yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n return yiq < 128;\n },\n light: function light() {\n return !this.dark();\n },\n negate: function negate() {\n var rgb = [];\n for (var i = 0; i < 3; i++) {\n rgb[i] = 255 - this.values.rgb[i];\n }\n this.setValues('rgb', rgb);\n return this;\n },\n lighten: function lighten(ratio) {\n var hsl = this.values.hsl;\n hsl[2] += hsl[2] * ratio;\n this.setValues('hsl', hsl);\n return this;\n },\n darken: function darken(ratio) {\n var hsl = this.values.hsl;\n hsl[2] -= hsl[2] * ratio;\n this.setValues('hsl', hsl);\n return this;\n },\n saturate: function saturate(ratio) {\n var hsl = this.values.hsl;\n hsl[1] += hsl[1] * ratio;\n this.setValues('hsl', hsl);\n return this;\n },\n desaturate: function desaturate(ratio) {\n var hsl = this.values.hsl;\n hsl[1] -= hsl[1] * ratio;\n this.setValues('hsl', hsl);\n return this;\n },\n whiten: function whiten(ratio) {\n var hwb = this.values.hwb;\n hwb[1] += hwb[1] * ratio;\n this.setValues('hwb', hwb);\n return this;\n },\n blacken: function blacken(ratio) {\n var hwb = this.values.hwb;\n hwb[2] += hwb[2] * ratio;\n this.setValues('hwb', hwb);\n return this;\n },\n greyscale: function greyscale() {\n var rgb = this.values.rgb;\n // http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n var val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n this.setValues('rgb', [val, val, val]);\n return this;\n },\n clearer: function clearer(ratio) {\n var alpha = this.values.alpha;\n this.setValues('alpha', alpha - alpha * ratio);\n return this;\n },\n opaquer: function opaquer(ratio) {\n var alpha = this.values.alpha;\n this.setValues('alpha', alpha + alpha * ratio);\n return this;\n },\n rotate: function rotate(degrees) {\n var hsl = this.values.hsl;\n var hue = (hsl[0] + degrees) % 360;\n hsl[0] = hue < 0 ? 360 + hue : hue;\n this.setValues('hsl', hsl);\n return this;\n },\n /**\n * Ported from sass implementation in C\n * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n */\n mix: function mix(mixinColor, weight) {\n var color1 = this;\n var color2 = mixinColor;\n var p = weight === undefined ? 0.5 : weight;\n var w = 2 * p - 1;\n var a = color1.alpha() - color2.alpha();\n var w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n var w2 = 1 - w1;\n return this.rgb(w1 * color1.red() + w2 * color2.red(), w1 * color1.green() + w2 * color2.green(), w1 * color1.blue() + w2 * color2.blue()).alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n },\n toJSON: function toJSON() {\n return this.rgb();\n },\n clone: function clone() {\n // NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\n // making the final build way to big to embed in Chart.js. So let's do it manually,\n // assuming that values to clone are 1 dimension arrays containing only numbers,\n // except 'alpha' which is a number.\n var result = new Color();\n var source = this.values;\n var target = result.values;\n var value, type;\n for (var prop in source) {\n if (source.hasOwnProperty(prop)) {\n value = source[prop];\n type = {}.toString.call(value);\n if (type === '[object Array]') {\n target[prop] = value.slice(0);\n } else if (type === '[object Number]') {\n target[prop] = value;\n } else {\n console.error('unexpected color value:', value);\n }\n }\n }\n return result;\n }\n };\n Color.prototype.spaces = {\n rgb: ['red', 'green', 'blue'],\n hsl: ['hue', 'saturation', 'lightness'],\n hsv: ['hue', 'saturation', 'value'],\n hwb: ['hue', 'whiteness', 'blackness'],\n cmyk: ['cyan', 'magenta', 'yellow', 'black']\n };\n Color.prototype.maxes = {\n rgb: [255, 255, 255],\n hsl: [360, 100, 100],\n hsv: [360, 100, 100],\n hwb: [360, 100, 100],\n cmyk: [100, 100, 100, 100]\n };\n Color.prototype.getValues = function (space) {\n var values = this.values;\n var vals = {};\n for (var i = 0; i < space.length; i++) {\n vals[space.charAt(i)] = values[space][i];\n }\n if (values.alpha !== 1) {\n vals.a = values.alpha;\n }\n\n // {r: 255, g: 255, b: 255, a: 0.4}\n return vals;\n };\n Color.prototype.setValues = function (space, vals) {\n var values = this.values;\n var spaces = this.spaces;\n var maxes = this.maxes;\n var alpha = 1;\n var i;\n this.valid = true;\n if (space === 'alpha') {\n alpha = vals;\n } else if (vals.length) {\n // [10, 10, 10]\n values[space] = vals.slice(0, space.length);\n alpha = vals[space.length];\n } else if (vals[space.charAt(0)] !== undefined) {\n // {r: 10, g: 10, b: 10}\n for (i = 0; i < space.length; i++) {\n values[space][i] = vals[space.charAt(i)];\n }\n alpha = vals.a;\n } else if (vals[spaces[space][0]] !== undefined) {\n // {red: 10, green: 10, blue: 10}\n var chans = spaces[space];\n for (i = 0; i < space.length; i++) {\n values[space][i] = vals[chans[i]];\n }\n alpha = vals.alpha;\n }\n values.alpha = Math.max(0, Math.min(1, alpha === undefined ? values.alpha : alpha));\n if (space === 'alpha') {\n return false;\n }\n var capped;\n\n // cap values of the space prior converting all values\n for (i = 0; i < space.length; i++) {\n capped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\n values[space][i] = Math.round(capped);\n }\n\n // convert to all the other color spaces\n for (var sname in spaces) {\n if (sname !== space) {\n values[sname] = colorConvert[space][sname](values[space]);\n }\n }\n return true;\n };\n Color.prototype.setSpace = function (space, args) {\n var vals = args[0];\n if (vals === undefined) {\n // color.rgb()\n return this.getValues(space);\n }\n\n // color.rgb(10, 10, 10)\n if (typeof vals === 'number') {\n vals = Array.prototype.slice.call(args);\n }\n this.setValues(space, vals);\n return this;\n };\n Color.prototype.setChannel = function (space, index, val) {\n var svalues = this.values[space];\n if (val === undefined) {\n // color.red()\n return svalues[index];\n } else if (val === svalues[index]) {\n // color.red(color.red())\n return this;\n }\n\n // color.red(100)\n svalues[index] = val;\n this.setValues(space, svalues);\n return this;\n };\n if (typeof window !== 'undefined') {\n window.Color = Color;\n }\n var chartjsColor = Color;\n function isValidKey(key) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n }\n\n /**\r\n * @namespace Chart.helpers\r\n */\n var helpers = {\n /**\r\n * An empty function that can be used, for example, for optional callback.\r\n */\n noop: function noop() {},\n /**\r\n * Returns a unique id, sequentially generated from a global variable.\r\n * @returns {number}\r\n * @function\r\n */\n uid: function () {\n var id = 0;\n return function () {\n return id++;\n };\n }(),\n /**\r\n * Returns true if `value` is neither null nor undefined, else returns false.\r\n * @param {*} value - The value to test.\r\n * @returns {boolean}\r\n * @since 2.7.0\r\n */\n isNullOrUndef: function isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n },\n /**\r\n * Returns true if `value` is an array (including typed arrays), else returns false.\r\n * @param {*} value - The value to test.\r\n * @returns {boolean}\r\n * @function\r\n */\n isArray: function isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n var type = Object.prototype.toString.call(value);\n if (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\n return true;\n }\n return false;\n },\n /**\r\n * Returns true if `value` is an object (excluding null), else returns false.\r\n * @param {*} value - The value to test.\r\n * @returns {boolean}\r\n * @since 2.7.0\r\n */\n isObject: function isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n },\n /**\r\n * Returns true if `value` is a finite number, else returns false\r\n * @param {*} value - The value to test.\r\n * @returns {boolean}\r\n */\n isFinite: function (_isFinite) {\n function isFinite(_x) {\n return _isFinite.apply(this, arguments);\n }\n isFinite.toString = function () {\n return _isFinite.toString();\n };\n return isFinite;\n }(function (value) {\n return (typeof value === 'number' || value instanceof Number) && isFinite(value);\n }),\n /**\r\n * Returns `value` if defined, else returns `defaultValue`.\r\n * @param {*} value - The value to return if defined.\r\n * @param {*} defaultValue - The value to return if `value` is undefined.\r\n * @returns {*}\r\n */\n valueOrDefault: function valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n },\n /**\r\n * Returns value at the given `index` in array if defined, else returns `defaultValue`.\r\n * @param {Array} value - The array to lookup for value at `index`.\r\n * @param {number} index - The index in `value` to lookup for value.\r\n * @param {*} defaultValue - The value to return if `value[index]` is undefined.\r\n * @returns {*}\r\n */\n valueAtIndexOrDefault: function valueAtIndexOrDefault(value, index, defaultValue) {\n return helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);\n },\n /**\r\n * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\r\n * value returned by `fn`. If `fn` is not a function, this method returns undefined.\r\n * @param {function} fn - The function to call.\r\n * @param {Array|undefined|null} args - The arguments with which `fn` should be called.\r\n * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n * @returns {*}\r\n */\n callback: function callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n },\n /**\r\n * Note(SB) for performance sake, this method should only be used when loopable type\r\n * is unknown or in none intensive code (not called often and small loopable). Else\r\n * it's preferable to use a regular for() loop and save extra function calls.\r\n * @param {object|Array} loopable - The object or array to be iterated.\r\n * @param {function} fn - The function to call for each item.\r\n * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n * @param {boolean} [reverse] - If true, iterates backward on the loopable.\r\n */\n each: function each(loopable, fn, thisArg, reverse) {\n var i, len, keys;\n if (helpers.isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (helpers.isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n },\n /**\r\n * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\r\n * @see https://stackoverflow.com/a/14853974\r\n * @param {Array} a0 - The array to compare\r\n * @param {Array} a1 - The array to compare\r\n * @returns {boolean}\r\n */\n arrayEquals: function arrayEquals(a0, a1) {\n var i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n if (v0 instanceof Array && v1 instanceof Array) {\n if (!helpers.arrayEquals(v0, v1)) {\n return false;\n }\n } else if (v0 !== v1) {\n // NOTE: two different object instances will never be equal: {x:20} != {x:20}\n return false;\n }\n }\n return true;\n },\n /**\r\n * Returns a deep copy of `source` without keeping references on objects and arrays.\r\n * @param {*} source - The value to clone.\r\n * @returns {*}\r\n */\n clone: function clone(source) {\n if (helpers.isArray(source)) {\n return source.map(helpers.clone);\n }\n if (helpers.isObject(source)) {\n var target = Object.create(source);\n var keys = Object.keys(source);\n var klen = keys.length;\n var k = 0;\n for (; k < klen; ++k) {\n target[keys[k]] = helpers.clone(source[keys[k]]);\n }\n return target;\n }\n return source;\n },\n /**\r\n * The default merger when Chart.helpers.merge is called without merger option.\r\n * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\r\n * @private\r\n */\n _merger: function _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n // We want to ensure we do not copy prototypes over\n // as this can pollute global namespaces\n return;\n }\n var tval = target[key];\n var sval = source[key];\n if (helpers.isObject(tval) && helpers.isObject(sval)) {\n helpers.merge(tval, sval, options);\n } else {\n target[key] = helpers.clone(sval);\n }\n },\n /**\r\n * Merges source[key] in target[key] only if target[key] is undefined.\r\n * @private\r\n */\n _mergerIf: function _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n // We want to ensure we do not copy prototypes over\n // as this can pollute global namespaces\n return;\n }\n var tval = target[key];\n var sval = source[key];\n if (helpers.isObject(tval) && helpers.isObject(sval)) {\n helpers.mergeIf(tval, sval);\n } else if (!target.hasOwnProperty(key)) {\n target[key] = helpers.clone(sval);\n }\n },\n /**\r\n * Recursively deep copies `source` properties into `target` with the given `options`.\r\n * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n * @param {object} target - The target object in which all sources are merged into.\r\n * @param {object|object[]} source - Object(s) to merge into `target`.\r\n * @param {object} [options] - Merging options:\r\n * @param {function} [options.merger] - The merge method (key, target, source, options)\r\n * @returns {object} The `target` object.\r\n */\n merge: function merge(target, source, options) {\n var sources = helpers.isArray(source) ? source : [source];\n var ilen = sources.length;\n var merge, i, keys, klen, k;\n if (!helpers.isObject(target)) {\n return target;\n }\n options = options || {};\n merge = options.merger || helpers._merger;\n for (i = 0; i < ilen; ++i) {\n source = sources[i];\n if (!helpers.isObject(source)) {\n continue;\n }\n keys = Object.keys(source);\n for (k = 0, klen = keys.length; k < klen; ++k) {\n merge(keys[k], target, source, options);\n }\n }\n return target;\n },\n /**\r\n * Recursively deep copies `source` properties into `target` *only* if not defined in target.\r\n * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n * @param {object} target - The target object in which all sources are merged into.\r\n * @param {object|object[]} source - Object(s) to merge into `target`.\r\n * @returns {object} The `target` object.\r\n */\n mergeIf: function mergeIf(target, source) {\n return helpers.merge(target, source, {\n merger: helpers._mergerIf\n });\n },\n /**\r\n * Applies the contents of two or more objects together into the first object.\r\n * @param {object} target - The target object in which all objects are merged into.\r\n * @param {object} arg1 - Object containing additional properties to merge in target.\r\n * @param {object} argN - Additional objects containing properties to merge in target.\r\n * @returns {object} The `target` object.\r\n */\n extend: Object.assign || function (target) {\n return helpers.merge(target, [].slice.call(arguments, 1), {\n merger: function merger(key, dst, src) {\n dst[key] = src[key];\n }\n });\n },\n /**\r\n * Basic javascript inheritance based on the model created in Backbone.js\r\n */\n inherits: function inherits(extensions) {\n var me = this;\n var ChartElement = extensions && extensions.hasOwnProperty('constructor') ? extensions.constructor : function () {\n return me.apply(this, arguments);\n };\n var Surrogate = function Surrogate() {\n this.constructor = ChartElement;\n };\n Surrogate.prototype = me.prototype;\n ChartElement.prototype = new Surrogate();\n ChartElement.extend = helpers.inherits;\n if (extensions) {\n helpers.extend(ChartElement.prototype, extensions);\n }\n ChartElement.__super__ = me.prototype;\n return ChartElement;\n },\n _deprecated: function _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous + '\" is deprecated. Please use \"' + current + '\" instead');\n }\n }\n };\n var helpers_core = helpers;\n\n // DEPRECATIONS\n\n /**\r\n * Provided for backward compatibility, use Chart.helpers.callback instead.\r\n * @function Chart.helpers.callCallback\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n * @private\r\n */\n helpers.callCallback = helpers.callback;\n\n /**\r\n * Provided for backward compatibility, use Array.prototype.indexOf instead.\r\n * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+\r\n * @function Chart.helpers.indexOf\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\n helpers.indexOf = function (array, item, fromIndex) {\n return Array.prototype.indexOf.call(array, item, fromIndex);\n };\n\n /**\r\n * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.\r\n * @function Chart.helpers.getValueOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\n helpers.getValueOrDefault = helpers.valueOrDefault;\n\n /**\r\n * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.\r\n * @function Chart.helpers.getValueAtIndexOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\n helpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\n /**\r\n * Easing functions adapted from Robert Penner's easing equations.\r\n * @namespace Chart.helpers.easingEffects\r\n * @see http://www.robertpenner.com/easing/\r\n */\n var effects = {\n linear: function linear(t) {\n return t;\n },\n easeInQuad: function easeInQuad(t) {\n return t * t;\n },\n easeOutQuad: function easeOutQuad(t) {\n return -t * (t - 2);\n },\n easeInOutQuad: function easeInOutQuad(t) {\n if ((t /= 0.5) < 1) {\n return 0.5 * t * t;\n }\n return -0.5 * (--t * (t - 2) - 1);\n },\n easeInCubic: function easeInCubic(t) {\n return t * t * t;\n },\n easeOutCubic: function easeOutCubic(t) {\n return (t = t - 1) * t * t + 1;\n },\n easeInOutCubic: function easeInOutCubic(t) {\n if ((t /= 0.5) < 1) {\n return 0.5 * t * t * t;\n }\n return 0.5 * ((t -= 2) * t * t + 2);\n },\n easeInQuart: function easeInQuart(t) {\n return t * t * t * t;\n },\n easeOutQuart: function easeOutQuart(t) {\n return -((t = t - 1) * t * t * t - 1);\n },\n easeInOutQuart: function easeInOutQuart(t) {\n if ((t /= 0.5) < 1) {\n return 0.5 * t * t * t * t;\n }\n return -0.5 * ((t -= 2) * t * t * t - 2);\n },\n easeInQuint: function easeInQuint(t) {\n return t * t * t * t * t;\n },\n easeOutQuint: function easeOutQuint(t) {\n return (t = t - 1) * t * t * t * t + 1;\n },\n easeInOutQuint: function easeInOutQuint(t) {\n if ((t /= 0.5) < 1) {\n return 0.5 * t * t * t * t * t;\n }\n return 0.5 * ((t -= 2) * t * t * t * t + 2);\n },\n easeInSine: function easeInSine(t) {\n return -Math.cos(t * (Math.PI / 2)) + 1;\n },\n easeOutSine: function easeOutSine(t) {\n return Math.sin(t * (Math.PI / 2));\n },\n easeInOutSine: function easeInOutSine(t) {\n return -0.5 * (Math.cos(Math.PI * t) - 1);\n },\n easeInExpo: function easeInExpo(t) {\n return t === 0 ? 0 : Math.pow(2, 10 * (t - 1));\n },\n easeOutExpo: function easeOutExpo(t) {\n return t === 1 ? 1 : -Math.pow(2, -10 * t) + 1;\n },\n easeInOutExpo: function easeInOutExpo(t) {\n if (t === 0) {\n return 0;\n }\n if (t === 1) {\n return 1;\n }\n if ((t /= 0.5) < 1) {\n return 0.5 * Math.pow(2, 10 * (t - 1));\n }\n return 0.5 * (-Math.pow(2, -10 * --t) + 2);\n },\n easeInCirc: function easeInCirc(t) {\n if (t >= 1) {\n return t;\n }\n return -(Math.sqrt(1 - t * t) - 1);\n },\n easeOutCirc: function easeOutCirc(t) {\n return Math.sqrt(1 - (t = t - 1) * t);\n },\n easeInOutCirc: function easeInOutCirc(t) {\n if ((t /= 0.5) < 1) {\n return -0.5 * (Math.sqrt(1 - t * t) - 1);\n }\n return 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n },\n easeInElastic: function easeInElastic(t) {\n var s = 1.70158;\n var p = 0;\n var a = 1;\n if (t === 0) {\n return 0;\n }\n if (t === 1) {\n return 1;\n }\n if (!p) {\n p = 0.3;\n }\n if (a < 1) {\n a = 1;\n s = p / 4;\n } else {\n s = p / (2 * Math.PI) * Math.asin(1 / a);\n }\n return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\n },\n easeOutElastic: function easeOutElastic(t) {\n var s = 1.70158;\n var p = 0;\n var a = 1;\n if (t === 0) {\n return 0;\n }\n if (t === 1) {\n return 1;\n }\n if (!p) {\n p = 0.3;\n }\n if (a < 1) {\n a = 1;\n s = p / 4;\n } else {\n s = p / (2 * Math.PI) * Math.asin(1 / a);\n }\n return a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;\n },\n easeInOutElastic: function easeInOutElastic(t) {\n var s = 1.70158;\n var p = 0;\n var a = 1;\n if (t === 0) {\n return 0;\n }\n if ((t /= 0.5) === 2) {\n return 1;\n }\n if (!p) {\n p = 0.45;\n }\n if (a < 1) {\n a = 1;\n s = p / 4;\n } else {\n s = p / (2 * Math.PI) * Math.asin(1 / a);\n }\n if (t < 1) {\n return -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\n }\n return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;\n },\n easeInBack: function easeInBack(t) {\n var s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack: function easeOutBack(t) {\n var s = 1.70158;\n return (t = t - 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack: function easeInOutBack(t) {\n var s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= 1.525) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2);\n },\n easeInBounce: function easeInBounce(t) {\n return 1 - effects.easeOutBounce(1 - t);\n },\n easeOutBounce: function easeOutBounce(t) {\n if (t < 1 / 2.75) {\n return 7.5625 * t * t;\n }\n if (t < 2 / 2.75) {\n return 7.5625 * (t -= 1.5 / 2.75) * t + 0.75;\n }\n if (t < 2.5 / 2.75) {\n return 7.5625 * (t -= 2.25 / 2.75) * t + 0.9375;\n }\n return 7.5625 * (t -= 2.625 / 2.75) * t + 0.984375;\n },\n easeInOutBounce: function easeInOutBounce(t) {\n if (t < 0.5) {\n return effects.easeInBounce(t * 2) * 0.5;\n }\n return effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\n }\n };\n var helpers_easing = {\n effects: effects\n };\n\n // DEPRECATIONS\n\n /**\r\n * Provided for backward compatibility, use Chart.helpers.easing.effects instead.\r\n * @function Chart.helpers.easingEffects\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\n helpers_core.easingEffects = effects;\n var PI = Math.PI;\n var RAD_PER_DEG = PI / 180;\n var DOUBLE_PI = PI * 2;\n var HALF_PI = PI / 2;\n var QUARTER_PI = PI / 4;\n var TWO_THIRDS_PI = PI * 2 / 3;\n\n /**\r\n * @namespace Chart.helpers.canvas\r\n */\n var exports$1 = {\n /**\r\n * Clears the entire canvas associated to the given `chart`.\r\n * @param {Chart} chart - The chart for which to clear the canvas.\r\n */\n clear: function clear(chart) {\n chart.ctx.clearRect(0, 0, chart.width, chart.height);\n },\n /**\r\n * Creates a \"path\" for a rectangle with rounded corners at position (x, y) with a\r\n * given size (width, height) and the same `radius` for all corners.\r\n * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.\r\n * @param {number} x - The x axis of the coordinate for the rectangle starting point.\r\n * @param {number} y - The y axis of the coordinate for the rectangle starting point.\r\n * @param {number} width - The rectangle's width.\r\n * @param {number} height - The rectangle's height.\r\n * @param {number} radius - The rounded amount (in pixels) for the four corners.\r\n * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?\r\n */\n roundedRect: function roundedRect(ctx, x, y, width, height, radius) {\n if (radius) {\n var r = Math.min(radius, height / 2, width / 2);\n var left = x + r;\n var top = y + r;\n var right = x + width - r;\n var bottom = y + height - r;\n ctx.moveTo(x, top);\n if (left < right && top < bottom) {\n ctx.arc(left, top, r, -PI, -HALF_PI);\n ctx.arc(right, top, r, -HALF_PI, 0);\n ctx.arc(right, bottom, r, 0, HALF_PI);\n ctx.arc(left, bottom, r, HALF_PI, PI);\n } else if (left < right) {\n ctx.moveTo(left, y);\n ctx.arc(right, top, r, -HALF_PI, HALF_PI);\n ctx.arc(left, top, r, HALF_PI, PI + HALF_PI);\n } else if (top < bottom) {\n ctx.arc(left, top, r, -PI, 0);\n ctx.arc(left, bottom, r, 0, PI);\n } else {\n ctx.arc(left, top, r, -PI, PI);\n }\n ctx.closePath();\n ctx.moveTo(x, y);\n } else {\n ctx.rect(x, y, width, height);\n }\n },\n drawPoint: function drawPoint(ctx, style, radius, x, y, rotation) {\n var type, xOffset, yOffset, size, cornerRadius;\n var rad = (rotation || 0) * RAD_PER_DEG;\n if (style && _typeof(style) === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch (style) {\n // Default includes circle\n default:\n ctx.arc(x, y, radius, 0, DOUBLE_PI);\n ctx.closePath();\n break;\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n // NOTE: the rounded rect implementation changed to use `arc` instead of\n // `quadraticCurveTo` since it generates better results when rect is\n // almost a circle. 0.516 (instead of 0.5) produces results with visually\n // closer proportion to the previous impl and it is inscribed in the\n // circle with `radius`. For more details, see the following PRs:\n // https://github.com/chartjs/Chart.js/issues/5597\n // https://github.com/chartjs/Chart.js/issues/5858\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n ctx.rect(x - size, y - size, 2 * size, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n /* falls through */\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n /* falls through */\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'line':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n ctx.fill();\n ctx.stroke();\n },\n /**\r\n * Returns true if the point is inside the rectangle\r\n * @param {object} point - The point to test\r\n * @param {object} area - The rectangle\r\n * @returns {boolean}\r\n * @private\r\n */\n _isPointInArea: function _isPointInArea(point, area) {\n var epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\n\n return point.x > area.left - epsilon && point.x < area.right + epsilon && point.y > area.top - epsilon && point.y < area.bottom + epsilon;\n },\n clipArea: function clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n },\n unclipArea: function unclipArea(ctx) {\n ctx.restore();\n },\n lineTo: function lineTo(ctx, previous, target, flip) {\n var stepped = target.steppedLine;\n if (stepped) {\n if (stepped === 'middle') {\n var midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, flip ? target.y : previous.y);\n ctx.lineTo(midpoint, flip ? previous.y : target.y);\n } else if (stepped === 'after' && !flip || stepped !== 'after' && flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n return;\n }\n if (!target.tension) {\n ctx.lineTo(target.x, target.y);\n return;\n }\n ctx.bezierCurveTo(flip ? previous.controlPointPreviousX : previous.controlPointNextX, flip ? previous.controlPointPreviousY : previous.controlPointNextY, flip ? target.controlPointNextX : target.controlPointPreviousX, flip ? target.controlPointNextY : target.controlPointPreviousY, target.x, target.y);\n }\n };\n var helpers_canvas = exports$1;\n\n // DEPRECATIONS\n\n /**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.\r\n * @namespace Chart.helpers.clear\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\n helpers_core.clear = exports$1.clear;\n\n /**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.\r\n * @namespace Chart.helpers.drawRoundedRectangle\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\n helpers_core.drawRoundedRectangle = function (ctx) {\n ctx.beginPath();\n exports$1.roundedRect.apply(exports$1, arguments);\n };\n var defaults = {\n /**\r\n * @private\r\n */\n _set: function _set(scope, values) {\n return helpers_core.merge(this[scope] || (this[scope] = {}), values);\n }\n };\n\n // TODO(v3): remove 'global' from namespace. all default are global and\n // there's inconsistency around which options are under 'global'\n defaults._set('global', {\n defaultColor: 'rgba(0,0,0,0.1)',\n defaultFontColor: '#666',\n defaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n defaultFontSize: 12,\n defaultFontStyle: 'normal',\n defaultLineHeight: 1.2,\n showLines: true\n });\n var core_defaults = defaults;\n var valueOrDefault = helpers_core.valueOrDefault;\n\n /**\r\n * Converts the given font object into a CSS font string.\r\n * @param {object} font - A font object.\r\n * @return {string} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\r\n * @private\r\n */\n function toFontString(font) {\n if (!font || helpers_core.isNullOrUndef(font.size) || helpers_core.isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '') + (font.weight ? font.weight + ' ' : '') + font.size + 'px ' + font.family;\n }\n\n /**\r\n * @alias Chart.helpers.options\r\n * @namespace\r\n */\n var helpers_options = {\n /**\r\n * Converts the given line height `value` in pixels for a specific font `size`.\r\n * @param {number|string} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\r\n * @param {number} size - The font size (in pixels) used to resolve relative `value`.\r\n * @returns {number} The effective line height in pixels (size * 1.2 if value is invalid).\r\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\r\n * @since 2.7.0\r\n */\n toLineHeight: function toLineHeight(value, size) {\n var matches = ('' + value).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n },\n /**\r\n * Converts the given value into a padding object with pre-computed width/height.\r\n * @param {number|object} value - If a number, set the value to all TRBL component,\r\n * else, if and object, use defined properties and sets undefined ones to 0.\r\n * @returns {object} The padding values (top, right, bottom, left, width, height)\r\n * @since 2.7.0\r\n */\n toPadding: function toPadding(value) {\n var t, r, b, l;\n if (helpers_core.isObject(value)) {\n t = +value.top || 0;\n r = +value.right || 0;\n b = +value.bottom || 0;\n l = +value.left || 0;\n } else {\n t = r = b = l = +value || 0;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n height: t + b,\n width: l + r\n };\n },\n /**\r\n * Parses font options and returns the font object.\r\n * @param {object} options - A object that contains font options to be parsed.\r\n * @return {object} The font object.\r\n * @todo Support font.* options and renamed to toFont().\r\n * @private\r\n */\n _parseFont: function _parseFont(options) {\n var globalDefaults = core_defaults.global;\n var size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\n var font = {\n family: valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily),\n lineHeight: helpers_core.options.toLineHeight(valueOrDefault(options.lineHeight, globalDefaults.defaultLineHeight), size),\n size: size,\n style: valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle),\n weight: null,\n string: ''\n };\n font.string = toFontString(font);\n return font;\n },\n /**\r\n * Evaluates the given `inputs` sequentially and returns the first defined value.\r\n * @param {Array} inputs - An array of values, falling back to the last value.\r\n * @param {object} [context] - If defined and the current value is a function, the value\r\n * is called with `context` as first argument and the result becomes the new input.\r\n * @param {number} [index] - If defined and the current value is an array, the value\r\n * at `index` become the new input.\r\n * @param {object} [info] - object to return information about resolution in\r\n * @param {boolean} [info.cacheable] - Will be set to `false` if option is not cacheable.\r\n * @since 2.7.0\r\n */\n resolve: function resolve(inputs, context, index, info) {\n var cacheable = true;\n var i, ilen, value;\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && helpers_core.isArray(value)) {\n value = value[index];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n }\n };\n\n /**\r\n * @alias Chart.helpers.math\r\n * @namespace\r\n */\n var exports$2 = {\n /**\r\n * Returns an array of factors sorted from 1 to sqrt(value)\r\n * @private\r\n */\n _factorize: function _factorize(value) {\n var result = [];\n var sqrt = Math.sqrt(value);\n var i;\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n // if value is a square number\n result.push(sqrt);\n }\n result.sort(function (a, b) {\n return a - b;\n }).pop();\n return result;\n },\n log10: Math.log10 || function (x) {\n var exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.\n // Check for whole powers of 10,\n // which due to floating point rounding error should be corrected.\n var powerOf10 = Math.round(exponent);\n var isPowerOf10 = x === Math.pow(10, powerOf10);\n return isPowerOf10 ? powerOf10 : exponent;\n }\n };\n var helpers_math = exports$2;\n\n // DEPRECATIONS\n\n /**\r\n * Provided for backward compatibility, use Chart.helpers.math.log10 instead.\r\n * @namespace Chart.helpers.log10\r\n * @deprecated since version 2.9.0\r\n * @todo remove at version 3\r\n * @private\r\n */\n helpers_core.log10 = exports$2.log10;\n var getRtlAdapter = function getRtlAdapter(rectX, width) {\n return {\n x: function x(_x2) {\n return rectX + rectX + width - _x2;\n },\n setWidth: function setWidth(w) {\n width = w;\n },\n textAlign: function textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus: function xPlus(x, value) {\n return x - value;\n },\n leftForLtr: function leftForLtr(x, itemWidth) {\n return x - itemWidth;\n }\n };\n };\n var getLtrAdapter = function getLtrAdapter() {\n return {\n x: function x(_x3) {\n return _x3;\n },\n setWidth: function setWidth(w) {// eslint-disable-line no-unused-vars\n },\n textAlign: function textAlign(align) {\n return align;\n },\n xPlus: function xPlus(x, value) {\n return x + value;\n },\n leftForLtr: function leftForLtr(x, _itemWidth) {\n // eslint-disable-line no-unused-vars\n return x;\n }\n };\n };\n var getAdapter = function getAdapter(rtl, rectX, width) {\n return rtl ? getRtlAdapter(rectX, width) : getLtrAdapter();\n };\n var overrideTextDirection = function overrideTextDirection(ctx, direction) {\n var style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [style.getPropertyValue('direction'), style.getPropertyPriority('direction')];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n };\n var restoreTextDirection = function restoreTextDirection(ctx) {\n var original = ctx.prevTextDirection;\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n };\n var helpers_rtl = {\n getRtlAdapter: getAdapter,\n overrideTextDirection: overrideTextDirection,\n restoreTextDirection: restoreTextDirection\n };\n var helpers$1 = helpers_core;\n var easing = helpers_easing;\n var canvas = helpers_canvas;\n var options = helpers_options;\n var math = helpers_math;\n var rtl = helpers_rtl;\n helpers$1.easing = easing;\n helpers$1.canvas = canvas;\n helpers$1.options = options;\n helpers$1.math = math;\n helpers$1.rtl = rtl;\n function interpolate(start, view, model, ease) {\n var keys = Object.keys(model);\n var i, ilen, key, actual, origin, target, type, c0, c1;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n target = model[key];\n\n // if a value is added to the model after pivot() has been called, the view\n // doesn't contain it, so let's initialize the view to the target value.\n if (!view.hasOwnProperty(key)) {\n view[key] = target;\n }\n actual = view[key];\n if (actual === target || key[0] === '_') {\n continue;\n }\n if (!start.hasOwnProperty(key)) {\n start[key] = actual;\n }\n origin = start[key];\n type = _typeof(target);\n if (type === _typeof(origin)) {\n if (type === 'string') {\n c0 = chartjsColor(origin);\n if (c0.valid) {\n c1 = chartjsColor(target);\n if (c1.valid) {\n view[key] = c1.mix(c0, ease).rgbString();\n continue;\n }\n }\n } else if (helpers$1.isFinite(origin) && helpers$1.isFinite(target)) {\n view[key] = origin + (target - origin) * ease;\n continue;\n }\n }\n view[key] = target;\n }\n }\n var Element = function Element(configuration) {\n helpers$1.extend(this, configuration);\n this.initialize.apply(this, arguments);\n };\n helpers$1.extend(Element.prototype, {\n _type: undefined,\n initialize: function initialize() {\n this.hidden = false;\n },\n pivot: function pivot() {\n var me = this;\n if (!me._view) {\n me._view = helpers$1.extend({}, me._model);\n }\n me._start = {};\n return me;\n },\n transition: function transition(ease) {\n var me = this;\n var model = me._model;\n var start = me._start;\n var view = me._view;\n\n // No animation -> No Transition\n if (!model || ease === 1) {\n me._view = helpers$1.extend({}, model);\n me._start = null;\n return me;\n }\n if (!view) {\n view = me._view = {};\n }\n if (!start) {\n start = me._start = {};\n }\n interpolate(start, view, model, ease);\n return me;\n },\n tooltipPosition: function tooltipPosition() {\n return {\n x: this._model.x,\n y: this._model.y\n };\n },\n hasValue: function hasValue() {\n return helpers$1.isNumber(this._model.x) && helpers$1.isNumber(this._model.y);\n }\n });\n Element.extend = helpers$1.inherits;\n var core_element = Element;\n var exports$3 = core_element.extend({\n chart: null,\n // the animation associated chart instance\n currentStep: 0,\n // the current animation step\n numSteps: 60,\n // default number of steps\n easing: '',\n // the easing to use for this animation\n render: null,\n // render function used by the animation service\n\n onAnimationProgress: null,\n // user specified callback to fire on each step of the animation\n onAnimationComplete: null // user specified callback to fire when the animation finishes\n });\n var core_animation = exports$3;\n\n // DEPRECATIONS\n\n /**\r\n * Provided for backward compatibility, use Chart.Animation instead\r\n * @prop Chart.Animation#animationObject\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\n Object.defineProperty(exports$3.prototype, 'animationObject', {\n get: function get() {\n return this;\n }\n });\n\n /**\r\n * Provided for backward compatibility, use Chart.Animation#chart instead\r\n * @prop Chart.Animation#chartInstance\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\n Object.defineProperty(exports$3.prototype, 'chartInstance', {\n get: function get() {\n return this.chart;\n },\n set: function set(value) {\n this.chart = value;\n }\n });\n core_defaults._set('global', {\n animation: {\n duration: 1000,\n easing: 'easeOutQuart',\n onProgress: helpers$1.noop,\n onComplete: helpers$1.noop\n }\n });\n var core_animations = {\n animations: [],\n request: null,\n /**\r\n * @param {Chart} chart - The chart to animate.\r\n * @param {Chart.Animation} animation - The animation that we will animate.\r\n * @param {number} duration - The animation duration in ms.\r\n * @param {boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\r\n */\n addAnimation: function addAnimation(chart, animation, duration, lazy) {\n var animations = this.animations;\n var i, ilen;\n animation.chart = chart;\n animation.startTime = Date.now();\n animation.duration = duration;\n if (!lazy) {\n chart.animating = true;\n }\n for (i = 0, ilen = animations.length; i < ilen; ++i) {\n if (animations[i].chart === chart) {\n animations[i] = animation;\n return;\n }\n }\n animations.push(animation);\n\n // If there are no animations queued, manually kickstart a digest, for lack of a better word\n if (animations.length === 1) {\n this.requestAnimationFrame();\n }\n },\n cancelAnimation: function cancelAnimation(chart) {\n var index = helpers$1.findIndex(this.animations, function (animation) {\n return animation.chart === chart;\n });\n if (index !== -1) {\n this.animations.splice(index, 1);\n chart.animating = false;\n }\n },\n requestAnimationFrame: function requestAnimationFrame() {\n var me = this;\n if (me.request === null) {\n // Skip animation frame requests until the active one is executed.\n // This can happen when processing mouse events, e.g. 'mousemove'\n // and 'mouseout' events will trigger multiple renders.\n me.request = helpers$1.requestAnimFrame.call(window, function () {\n me.request = null;\n me.startDigest();\n });\n }\n },\n /**\r\n * @private\r\n */\n startDigest: function startDigest() {\n var me = this;\n me.advance();\n\n // Do we have more stuff to animate?\n if (me.animations.length > 0) {\n me.requestAnimationFrame();\n }\n },\n /**\r\n * @private\r\n */\n advance: function advance() {\n var animations = this.animations;\n var animation, chart, numSteps, nextStep;\n var i = 0;\n\n // 1 animation per chart, so we are looping charts here\n while (i < animations.length) {\n animation = animations[i];\n chart = animation.chart;\n numSteps = animation.numSteps;\n\n // Make sure that currentStep starts at 1\n // https://github.com/chartjs/Chart.js/issues/6104\n nextStep = Math.floor((Date.now() - animation.startTime) / animation.duration * numSteps) + 1;\n animation.currentStep = Math.min(nextStep, numSteps);\n helpers$1.callback(animation.render, [chart, animation], chart);\n helpers$1.callback(animation.onAnimationProgress, [animation], chart);\n if (animation.currentStep >= numSteps) {\n helpers$1.callback(animation.onAnimationComplete, [animation], chart);\n chart.animating = false;\n animations.splice(i, 1);\n } else {\n ++i;\n }\n }\n }\n };\n var resolve = helpers$1.options.resolve;\n var arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\n\n /**\r\n * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\r\n * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\r\n * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\r\n */\n function listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n arrayEvents.forEach(function (key) {\n var method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\n var base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value: function value() {\n var args = Array.prototype.slice.call(arguments);\n var res = base.apply(this, args);\n helpers$1.each(array._chartjs.listeners, function (object) {\n if (typeof object[method] === 'function') {\n object[method].apply(object, args);\n }\n });\n return res;\n }\n });\n });\n }\n\n /**\r\n * Removes the given array event listener and cleanup extra attached properties (such as\r\n * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\r\n */\n function unlistenArrayEvents(array, listener) {\n var stub = array._chartjs;\n if (!stub) {\n return;\n }\n var listeners = stub.listeners;\n var index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach(function (key) {\n delete array[key];\n });\n delete array._chartjs;\n }\n\n // Base class for all dataset controllers (line, bar, etc)\n var DatasetController = function DatasetController(chart, datasetIndex) {\n this.initialize(chart, datasetIndex);\n };\n helpers$1.extend(DatasetController.prototype, {\n /**\r\n * Element type used to generate a meta dataset (e.g. Chart.element.Line).\r\n * @type {Chart.core.element}\r\n */\n datasetElementType: null,\n /**\r\n * Element type used to generate a meta data (e.g. Chart.element.Point).\r\n * @type {Chart.core.element}\r\n */\n dataElementType: null,\n /**\r\n * Dataset element option keys to be resolved in _resolveDatasetElementOptions.\r\n * A derived controller may override this to resolve controller-specific options.\r\n * The keys defined here are for backward compatibility for legend styles.\r\n * @private\r\n */\n _datasetElementOptions: ['backgroundColor', 'borderCapStyle', 'borderColor', 'borderDash', 'borderDashOffset', 'borderJoinStyle', 'borderWidth'],\n /**\r\n * Data element option keys to be resolved in _resolveDataElementOptions.\r\n * A derived controller may override this to resolve controller-specific options.\r\n * The keys defined here are for backward compatibility for legend styles.\r\n * @private\r\n */\n _dataElementOptions: ['backgroundColor', 'borderColor', 'borderWidth', 'pointStyle'],\n initialize: function initialize(chart, datasetIndex) {\n var me = this;\n me.chart = chart;\n me.index = datasetIndex;\n me.linkScales();\n me.addElements();\n me._type = me.getMeta().type;\n },\n updateIndex: function updateIndex(datasetIndex) {\n this.index = datasetIndex;\n },\n linkScales: function linkScales() {\n var me = this;\n var meta = me.getMeta();\n var chart = me.chart;\n var scales = chart.scales;\n var dataset = me.getDataset();\n var scalesOpts = chart.options.scales;\n if (meta.xAxisID === null || !(meta.xAxisID in scales) || dataset.xAxisID) {\n meta.xAxisID = dataset.xAxisID || scalesOpts.xAxes[0].id;\n }\n if (meta.yAxisID === null || !(meta.yAxisID in scales) || dataset.yAxisID) {\n meta.yAxisID = dataset.yAxisID || scalesOpts.yAxes[0].id;\n }\n },\n getDataset: function getDataset() {\n return this.chart.data.datasets[this.index];\n },\n getMeta: function getMeta() {\n return this.chart.getDatasetMeta(this.index);\n },\n getScaleForId: function getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n },\n /**\r\n * @private\r\n */\n _getValueScaleId: function _getValueScaleId() {\n return this.getMeta().yAxisID;\n },\n /**\r\n * @private\r\n */\n _getIndexScaleId: function _getIndexScaleId() {\n return this.getMeta().xAxisID;\n },\n /**\r\n * @private\r\n */\n _getValueScale: function _getValueScale() {\n return this.getScaleForId(this._getValueScaleId());\n },\n /**\r\n * @private\r\n */\n _getIndexScale: function _getIndexScale() {\n return this.getScaleForId(this._getIndexScaleId());\n },\n reset: function reset() {\n this._update(true);\n },\n /**\r\n * @private\r\n */\n destroy: function destroy() {\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n },\n createMetaDataset: function createMetaDataset() {\n var me = this;\n var type = me.datasetElementType;\n return type && new type({\n _chart: me.chart,\n _datasetIndex: me.index\n });\n },\n createMetaData: function createMetaData(index) {\n var me = this;\n var type = me.dataElementType;\n return type && new type({\n _chart: me.chart,\n _datasetIndex: me.index,\n _index: index\n });\n },\n addElements: function addElements() {\n var me = this;\n var meta = me.getMeta();\n var data = me.getDataset().data || [];\n var metaData = meta.data;\n var i, ilen;\n for (i = 0, ilen = data.length; i < ilen; ++i) {\n metaData[i] = metaData[i] || me.createMetaData(i);\n }\n meta.dataset = meta.dataset || me.createMetaDataset();\n },\n addElementAndReset: function addElementAndReset(index) {\n var element = this.createMetaData(index);\n this.getMeta().data.splice(index, 0, element);\n this.updateElement(element, index, true);\n },\n buildOrUpdateElements: function buildOrUpdateElements() {\n var me = this;\n var dataset = me.getDataset();\n var data = dataset.data || (dataset.data = []);\n\n // In order to correctly handle data addition/deletion animation (an thus simulate\n // real-time charts), we need to monitor these data modifications and synchronize\n // the internal meta data accordingly.\n if (me._data !== data) {\n if (me._data) {\n // This case happens when the user replaced the data array instance.\n unlistenArrayEvents(me._data, me);\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, me);\n }\n me._data = data;\n }\n\n // Re-sync meta data in case the user replaced the data array or if we missed\n // any updates and so make sure that we handle number of datapoints changing.\n me.resyncElements();\n },\n /**\r\n * Returns the merged user-supplied and default dataset-level options\r\n * @private\r\n */\n _configure: function _configure() {\n var me = this;\n me._config = helpers$1.merge(Object.create(null), [me.chart.options.datasets[me._type], me.getDataset()], {\n merger: function merger(key, target, source) {\n if (key !== '_meta' && key !== 'data') {\n helpers$1._merger(key, target, source);\n }\n }\n });\n },\n _update: function _update(reset) {\n var me = this;\n me._configure();\n me._cachedDataOpts = null;\n me.update(reset);\n },\n update: helpers$1.noop,\n transition: function transition(easingValue) {\n var meta = this.getMeta();\n var elements = meta.data || [];\n var ilen = elements.length;\n var i = 0;\n for (; i < ilen; ++i) {\n elements[i].transition(easingValue);\n }\n if (meta.dataset) {\n meta.dataset.transition(easingValue);\n }\n },\n draw: function draw() {\n var meta = this.getMeta();\n var elements = meta.data || [];\n var ilen = elements.length;\n var i = 0;\n if (meta.dataset) {\n meta.dataset.draw();\n }\n for (; i < ilen; ++i) {\n elements[i].draw();\n }\n },\n /**\r\n * Returns a set of predefined style properties that should be used to represent the dataset\r\n * or the data if the index is specified\r\n * @param {number} index - data index\r\n * @return {IStyleInterface} style object\r\n */\n getStyle: function getStyle(index) {\n var me = this;\n var meta = me.getMeta();\n var dataset = meta.dataset;\n var style;\n me._configure();\n if (dataset && index === undefined) {\n style = me._resolveDatasetElementOptions(dataset || {});\n } else {\n index = index || 0;\n style = me._resolveDataElementOptions(meta.data[index] || {}, index);\n }\n if (style.fill === false || style.fill === null) {\n style.backgroundColor = style.borderColor;\n }\n return style;\n },\n /**\r\n * @private\r\n */\n _resolveDatasetElementOptions: function _resolveDatasetElementOptions(element, hover) {\n var me = this;\n var chart = me.chart;\n var datasetOpts = me._config;\n var custom = element.custom || {};\n var options = chart.options.elements[me.datasetElementType.prototype._type] || {};\n var elementOptions = me._datasetElementOptions;\n var values = {};\n var i, ilen, key, readKey;\n\n // Scriptable options\n var context = {\n chart: chart,\n dataset: me.getDataset(),\n datasetIndex: me.index,\n hover: hover\n };\n for (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\n key = elementOptions[i];\n readKey = hover ? 'hover' + key.charAt(0).toUpperCase() + key.slice(1) : key;\n values[key] = resolve([custom[readKey], datasetOpts[readKey], options[readKey]], context);\n }\n return values;\n },\n /**\r\n * @private\r\n */\n _resolveDataElementOptions: function _resolveDataElementOptions(element, index) {\n var me = this;\n var custom = element && element.custom;\n var cached = me._cachedDataOpts;\n if (cached && !custom) {\n return cached;\n }\n var chart = me.chart;\n var datasetOpts = me._config;\n var options = chart.options.elements[me.dataElementType.prototype._type] || {};\n var elementOptions = me._dataElementOptions;\n var values = {};\n\n // Scriptable options\n var context = {\n chart: chart,\n dataIndex: index,\n dataset: me.getDataset(),\n datasetIndex: me.index\n };\n\n // `resolve` sets cacheable to `false` if any option is indexed or scripted\n var info = {\n cacheable: !custom\n };\n var keys, i, ilen, key;\n custom = custom || {};\n if (helpers$1.isArray(elementOptions)) {\n for (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\n key = elementOptions[i];\n values[key] = resolve([custom[key], datasetOpts[key], options[key]], context, index, info);\n }\n } else {\n keys = Object.keys(elementOptions);\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n values[key] = resolve([custom[key], datasetOpts[elementOptions[key]], datasetOpts[key], options[key]], context, index, info);\n }\n }\n if (info.cacheable) {\n me._cachedDataOpts = Object.freeze(values);\n }\n return values;\n },\n removeHoverStyle: function removeHoverStyle(element) {\n helpers$1.merge(element._model, element.$previousStyle || {});\n delete element.$previousStyle;\n },\n setHoverStyle: function setHoverStyle(element) {\n var dataset = this.chart.data.datasets[element._datasetIndex];\n var index = element._index;\n var custom = element.custom || {};\n var model = element._model;\n var getHoverColor = helpers$1.getHoverColor;\n element.$previousStyle = {\n backgroundColor: model.backgroundColor,\n borderColor: model.borderColor,\n borderWidth: model.borderWidth\n };\n model.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.hoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);\n model.borderColor = resolve([custom.hoverBorderColor, dataset.hoverBorderColor, getHoverColor(model.borderColor)], undefined, index);\n model.borderWidth = resolve([custom.hoverBorderWidth, dataset.hoverBorderWidth, model.borderWidth], undefined, index);\n },\n /**\r\n * @private\r\n */\n _removeDatasetHoverStyle: function _removeDatasetHoverStyle() {\n var element = this.getMeta().dataset;\n if (element) {\n this.removeHoverStyle(element);\n }\n },\n /**\r\n * @private\r\n */\n _setDatasetHoverStyle: function _setDatasetHoverStyle() {\n var element = this.getMeta().dataset;\n var prev = {};\n var i, ilen, key, keys, hoverOptions, model;\n if (!element) {\n return;\n }\n model = element._model;\n hoverOptions = this._resolveDatasetElementOptions(element, true);\n keys = Object.keys(hoverOptions);\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n prev[key] = model[key];\n model[key] = hoverOptions[key];\n }\n element.$previousStyle = prev;\n },\n /**\r\n * @private\r\n */\n resyncElements: function resyncElements() {\n var me = this;\n var meta = me.getMeta();\n var data = me.getDataset().data;\n var numMeta = meta.data.length;\n var numData = data.length;\n if (numData < numMeta) {\n meta.data.splice(numData, numMeta - numData);\n } else if (numData > numMeta) {\n me.insertElements(numMeta, numData - numMeta);\n }\n },\n /**\r\n * @private\r\n */\n insertElements: function insertElements(start, count) {\n for (var i = 0; i < count; ++i) {\n this.addElementAndReset(start + i);\n }\n },\n /**\r\n * @private\r\n */\n onDataPush: function onDataPush() {\n var count = arguments.length;\n this.insertElements(this.getDataset().data.length - count, count);\n },\n /**\r\n * @private\r\n */\n onDataPop: function onDataPop() {\n this.getMeta().data.pop();\n },\n /**\r\n * @private\r\n */\n onDataShift: function onDataShift() {\n this.getMeta().data.shift();\n },\n /**\r\n * @private\r\n */\n onDataSplice: function onDataSplice(start, count) {\n this.getMeta().data.splice(start, count);\n this.insertElements(start, arguments.length - 2);\n },\n /**\r\n * @private\r\n */\n onDataUnshift: function onDataUnshift() {\n this.insertElements(0, arguments.length);\n }\n });\n DatasetController.extend = helpers$1.inherits;\n var core_datasetController = DatasetController;\n var TAU = Math.PI * 2;\n core_defaults._set('global', {\n elements: {\n arc: {\n backgroundColor: core_defaults.global.defaultColor,\n borderColor: '#fff',\n borderWidth: 2,\n borderAlign: 'center'\n }\n }\n });\n function clipArc(ctx, arc) {\n var startAngle = arc.startAngle;\n var endAngle = arc.endAngle;\n var pixelMargin = arc.pixelMargin;\n var angleMargin = pixelMargin / arc.outerRadius;\n var x = arc.x;\n var y = arc.y;\n\n // Draw an inner border by cliping the arc and drawing a double-width border\n // Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\n ctx.beginPath();\n ctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (arc.innerRadius > pixelMargin) {\n angleMargin = pixelMargin / arc.innerRadius;\n ctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2);\n }\n ctx.closePath();\n ctx.clip();\n }\n function drawFullCircleBorders(ctx, vm, arc, inner) {\n var endAngle = arc.endAngle;\n var i;\n if (inner) {\n arc.endAngle = arc.startAngle + TAU;\n clipArc(ctx, arc);\n arc.endAngle = endAngle;\n if (arc.endAngle === arc.startAngle && arc.fullCircles) {\n arc.endAngle += TAU;\n arc.fullCircles--;\n }\n }\n ctx.beginPath();\n ctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true);\n for (i = 0; i < arc.fullCircles; ++i) {\n ctx.stroke();\n }\n ctx.beginPath();\n ctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU);\n for (i = 0; i < arc.fullCircles; ++i) {\n ctx.stroke();\n }\n }\n function drawBorder(ctx, vm, arc) {\n var inner = vm.borderAlign === 'inner';\n if (inner) {\n ctx.lineWidth = vm.borderWidth * 2;\n ctx.lineJoin = 'round';\n } else {\n ctx.lineWidth = vm.borderWidth;\n ctx.lineJoin = 'bevel';\n }\n if (arc.fullCircles) {\n drawFullCircleBorders(ctx, vm, arc, inner);\n }\n if (inner) {\n clipArc(ctx, arc);\n }\n ctx.beginPath();\n ctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle);\n ctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\n ctx.closePath();\n ctx.stroke();\n }\n var element_arc = core_element.extend({\n _type: 'arc',\n inLabelRange: function inLabelRange(mouseX) {\n var vm = this._view;\n if (vm) {\n return Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2);\n }\n return false;\n },\n inRange: function inRange(chartX, chartY) {\n var vm = this._view;\n if (vm) {\n var pointRelativePosition = helpers$1.getAngleFromPoint(vm, {\n x: chartX,\n y: chartY\n });\n var angle = pointRelativePosition.angle;\n var distance = pointRelativePosition.distance;\n\n // Sanitise angle range\n var startAngle = vm.startAngle;\n var endAngle = vm.endAngle;\n while (endAngle < startAngle) {\n endAngle += TAU;\n }\n while (angle > endAngle) {\n angle -= TAU;\n }\n while (angle < startAngle) {\n angle += TAU;\n }\n\n // Check if within the range of the open/close angle\n var betweenAngles = angle >= startAngle && angle <= endAngle;\n var withinRadius = distance >= vm.innerRadius && distance <= vm.outerRadius;\n return betweenAngles && withinRadius;\n }\n return false;\n },\n getCenterPoint: function getCenterPoint() {\n var vm = this._view;\n var halfAngle = (vm.startAngle + vm.endAngle) / 2;\n var halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\n return {\n x: vm.x + Math.cos(halfAngle) * halfRadius,\n y: vm.y + Math.sin(halfAngle) * halfRadius\n };\n },\n getArea: function getArea() {\n var vm = this._view;\n return Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\n },\n tooltipPosition: function tooltipPosition() {\n var vm = this._view;\n var centreAngle = vm.startAngle + (vm.endAngle - vm.startAngle) / 2;\n var rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\n return {\n x: vm.x + Math.cos(centreAngle) * rangeFromCentre,\n y: vm.y + Math.sin(centreAngle) * rangeFromCentre\n };\n },\n draw: function draw() {\n var ctx = this._chart.ctx;\n var vm = this._view;\n var pixelMargin = vm.borderAlign === 'inner' ? 0.33 : 0;\n var arc = {\n x: vm.x,\n y: vm.y,\n innerRadius: vm.innerRadius,\n outerRadius: Math.max(vm.outerRadius - pixelMargin, 0),\n pixelMargin: pixelMargin,\n startAngle: vm.startAngle,\n endAngle: vm.endAngle,\n fullCircles: Math.floor(vm.circumference / TAU)\n };\n var i;\n ctx.save();\n ctx.fillStyle = vm.backgroundColor;\n ctx.strokeStyle = vm.borderColor;\n if (arc.fullCircles) {\n arc.endAngle = arc.startAngle + TAU;\n ctx.beginPath();\n ctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\n ctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\n ctx.closePath();\n for (i = 0; i < arc.fullCircles; ++i) {\n ctx.fill();\n }\n arc.endAngle = arc.startAngle + vm.circumference % TAU;\n }\n ctx.beginPath();\n ctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\n ctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\n ctx.closePath();\n ctx.fill();\n if (vm.borderWidth) {\n drawBorder(ctx, vm, arc);\n }\n ctx.restore();\n }\n });\n var valueOrDefault$1 = helpers$1.valueOrDefault;\n var defaultColor = core_defaults.global.defaultColor;\n core_defaults._set('global', {\n elements: {\n line: {\n tension: 0.4,\n backgroundColor: defaultColor,\n borderWidth: 3,\n borderColor: defaultColor,\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0.0,\n borderJoinStyle: 'miter',\n capBezierPoints: true,\n fill: true // do we fill in the area between the line and its base axis\n }\n }\n });\n var element_line = core_element.extend({\n _type: 'line',\n draw: function draw() {\n var me = this;\n var vm = me._view;\n var ctx = me._chart.ctx;\n var spanGaps = vm.spanGaps;\n var points = me._children.slice(); // clone array\n var globalDefaults = core_defaults.global;\n var globalOptionLineElements = globalDefaults.elements.line;\n var lastDrawnIndex = -1;\n var closePath = me._loop;\n var index, previous, currentVM;\n if (!points.length) {\n return;\n }\n if (me._loop) {\n for (index = 0; index < points.length; ++index) {\n previous = helpers$1.previousItem(points, index);\n // If the line has an open path, shift the point array\n if (!points[index]._view.skip && previous._view.skip) {\n points = points.slice(index).concat(points.slice(0, index));\n closePath = spanGaps;\n break;\n }\n }\n // If the line has a close path, add the first point again\n if (closePath) {\n points.push(points[0]);\n }\n }\n ctx.save();\n\n // Stroke Line Options\n ctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\n\n // IE 9 and 10 do not support line dash\n if (ctx.setLineDash) {\n ctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\n }\n ctx.lineDashOffset = valueOrDefault$1(vm.borderDashOffset, globalOptionLineElements.borderDashOffset);\n ctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\n ctx.lineWidth = valueOrDefault$1(vm.borderWidth, globalOptionLineElements.borderWidth);\n ctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\n\n // Stroke Line\n ctx.beginPath();\n\n // First point moves to it's starting position no matter what\n currentVM = points[0]._view;\n if (!currentVM.skip) {\n ctx.moveTo(currentVM.x, currentVM.y);\n lastDrawnIndex = 0;\n }\n for (index = 1; index < points.length; ++index) {\n currentVM = points[index]._view;\n previous = lastDrawnIndex === -1 ? helpers$1.previousItem(points, index) : points[lastDrawnIndex];\n if (!currentVM.skip) {\n if (lastDrawnIndex !== index - 1 && !spanGaps || lastDrawnIndex === -1) {\n // There was a gap and this is the first point after the gap\n ctx.moveTo(currentVM.x, currentVM.y);\n } else {\n // Line to next point\n helpers$1.canvas.lineTo(ctx, previous._view, currentVM);\n }\n lastDrawnIndex = index;\n }\n }\n if (closePath) {\n ctx.closePath();\n }\n ctx.stroke();\n ctx.restore();\n }\n });\n var valueOrDefault$2 = helpers$1.valueOrDefault;\n var defaultColor$1 = core_defaults.global.defaultColor;\n core_defaults._set('global', {\n elements: {\n point: {\n radius: 3,\n pointStyle: 'circle',\n backgroundColor: defaultColor$1,\n borderColor: defaultColor$1,\n borderWidth: 1,\n // Hover\n hitRadius: 1,\n hoverRadius: 4,\n hoverBorderWidth: 1\n }\n }\n });\n function xRange(mouseX) {\n var vm = this._view;\n return vm ? Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius : false;\n }\n function yRange(mouseY) {\n var vm = this._view;\n return vm ? Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius : false;\n }\n var element_point = core_element.extend({\n _type: 'point',\n inRange: function inRange(mouseX, mouseY) {\n var vm = this._view;\n return vm ? Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2) < Math.pow(vm.hitRadius + vm.radius, 2) : false;\n },\n inLabelRange: xRange,\n inXRange: xRange,\n inYRange: yRange,\n getCenterPoint: function getCenterPoint() {\n var vm = this._view;\n return {\n x: vm.x,\n y: vm.y\n };\n },\n getArea: function getArea() {\n return Math.PI * Math.pow(this._view.radius, 2);\n },\n tooltipPosition: function tooltipPosition() {\n var vm = this._view;\n return {\n x: vm.x,\n y: vm.y,\n padding: vm.radius + vm.borderWidth\n };\n },\n draw: function draw(chartArea) {\n var vm = this._view;\n var ctx = this._chart.ctx;\n var pointStyle = vm.pointStyle;\n var rotation = vm.rotation;\n var radius = vm.radius;\n var x = vm.x;\n var y = vm.y;\n var globalDefaults = core_defaults.global;\n var defaultColor = globalDefaults.defaultColor; // eslint-disable-line no-shadow\n\n if (vm.skip) {\n return;\n }\n\n // Clipping for Points.\n if (chartArea === undefined || helpers$1.canvas._isPointInArea(vm, chartArea)) {\n ctx.strokeStyle = vm.borderColor || defaultColor;\n ctx.lineWidth = valueOrDefault$2(vm.borderWidth, globalDefaults.elements.point.borderWidth);\n ctx.fillStyle = vm.backgroundColor || defaultColor;\n helpers$1.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation);\n }\n }\n });\n var defaultColor$2 = core_defaults.global.defaultColor;\n core_defaults._set('global', {\n elements: {\n rectangle: {\n backgroundColor: defaultColor$2,\n borderColor: defaultColor$2,\n borderSkipped: 'bottom',\n borderWidth: 0\n }\n }\n });\n function isVertical(vm) {\n return vm && vm.width !== undefined;\n }\n\n /**\r\n * Helper function to get the bounds of the bar regardless of the orientation\r\n * @param bar {Chart.Element.Rectangle} the bar\r\n * @return {Bounds} bounds of the bar\r\n * @private\r\n */\n function getBarBounds(vm) {\n var x1, x2, y1, y2, half;\n if (isVertical(vm)) {\n half = vm.width / 2;\n x1 = vm.x - half;\n x2 = vm.x + half;\n y1 = Math.min(vm.y, vm.base);\n y2 = Math.max(vm.y, vm.base);\n } else {\n half = vm.height / 2;\n x1 = Math.min(vm.x, vm.base);\n x2 = Math.max(vm.x, vm.base);\n y1 = vm.y - half;\n y2 = vm.y + half;\n }\n return {\n left: x1,\n top: y1,\n right: x2,\n bottom: y2\n };\n }\n function swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n }\n function parseBorderSkipped(vm) {\n var edge = vm.borderSkipped;\n var res = {};\n if (!edge) {\n return res;\n }\n if (vm.horizontal) {\n if (vm.base > vm.x) {\n edge = swap(edge, 'left', 'right');\n }\n } else if (vm.base < vm.y) {\n edge = swap(edge, 'bottom', 'top');\n }\n res[edge] = true;\n return res;\n }\n function parseBorderWidth(vm, maxW, maxH) {\n var value = vm.borderWidth;\n var skip = parseBorderSkipped(vm);\n var t, r, b, l;\n if (helpers$1.isObject(value)) {\n t = +value.top || 0;\n r = +value.right || 0;\n b = +value.bottom || 0;\n l = +value.left || 0;\n } else {\n t = r = b = l = +value || 0;\n }\n return {\n t: skip.top || t < 0 ? 0 : t > maxH ? maxH : t,\n r: skip.right || r < 0 ? 0 : r > maxW ? maxW : r,\n b: skip.bottom || b < 0 ? 0 : b > maxH ? maxH : b,\n l: skip.left || l < 0 ? 0 : l > maxW ? maxW : l\n };\n }\n function boundingRects(vm) {\n var bounds = getBarBounds(vm);\n var width = bounds.right - bounds.left;\n var height = bounds.bottom - bounds.top;\n var border = parseBorderWidth(vm, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b\n }\n };\n }\n function _inRange(vm, x, y) {\n var skipX = x === null;\n var skipY = y === null;\n var bounds = !vm || skipX && skipY ? false : getBarBounds(vm);\n return bounds && (skipX || x >= bounds.left && x <= bounds.right) && (skipY || y >= bounds.top && y <= bounds.bottom);\n }\n var element_rectangle = core_element.extend({\n _type: 'rectangle',\n draw: function draw() {\n var ctx = this._chart.ctx;\n var vm = this._view;\n var rects = boundingRects(vm);\n var outer = rects.outer;\n var inner = rects.inner;\n ctx.fillStyle = vm.backgroundColor;\n ctx.fillRect(outer.x, outer.y, outer.w, outer.h);\n if (outer.w === inner.w && outer.h === inner.h) {\n return;\n }\n ctx.save();\n ctx.beginPath();\n ctx.rect(outer.x, outer.y, outer.w, outer.h);\n ctx.clip();\n ctx.fillStyle = vm.borderColor;\n ctx.rect(inner.x, inner.y, inner.w, inner.h);\n ctx.fill('evenodd');\n ctx.restore();\n },\n height: function height() {\n var vm = this._view;\n return vm.base - vm.y;\n },\n inRange: function inRange(mouseX, mouseY) {\n return _inRange(this._view, mouseX, mouseY);\n },\n inLabelRange: function inLabelRange(mouseX, mouseY) {\n var vm = this._view;\n return isVertical(vm) ? _inRange(vm, mouseX, null) : _inRange(vm, null, mouseY);\n },\n inXRange: function inXRange(mouseX) {\n return _inRange(this._view, mouseX, null);\n },\n inYRange: function inYRange(mouseY) {\n return _inRange(this._view, null, mouseY);\n },\n getCenterPoint: function getCenterPoint() {\n var vm = this._view;\n var x, y;\n if (isVertical(vm)) {\n x = vm.x;\n y = (vm.y + vm.base) / 2;\n } else {\n x = (vm.x + vm.base) / 2;\n y = vm.y;\n }\n return {\n x: x,\n y: y\n };\n },\n getArea: function getArea() {\n var vm = this._view;\n return isVertical(vm) ? vm.width * Math.abs(vm.y - vm.base) : vm.height * Math.abs(vm.x - vm.base);\n },\n tooltipPosition: function tooltipPosition() {\n var vm = this._view;\n return {\n x: vm.x,\n y: vm.y\n };\n }\n });\n var elements = {};\n var Arc = element_arc;\n var Line = element_line;\n var Point = element_point;\n var Rectangle = element_rectangle;\n elements.Arc = Arc;\n elements.Line = Line;\n elements.Point = Point;\n elements.Rectangle = Rectangle;\n var deprecated = helpers$1._deprecated;\n var valueOrDefault$3 = helpers$1.valueOrDefault;\n core_defaults._set('bar', {\n hover: {\n mode: 'label'\n },\n scales: {\n xAxes: [{\n type: 'category',\n offset: true,\n gridLines: {\n offsetGridLines: true\n }\n }],\n yAxes: [{\n type: 'linear'\n }]\n }\n });\n core_defaults._set('global', {\n datasets: {\n bar: {\n categoryPercentage: 0.8,\n barPercentage: 0.9\n }\n }\n });\n\n /**\r\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\r\n * @private\r\n */\n function computeMinSampleSize(scale, pixels) {\n var min = scale._length;\n var prev, curr, i, ilen;\n for (i = 1, ilen = pixels.length; i < ilen; ++i) {\n min = Math.min(min, Math.abs(pixels[i] - pixels[i - 1]));\n }\n for (i = 0, ilen = scale.getTicks().length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n min = i > 0 ? Math.min(min, Math.abs(curr - prev)) : min;\n prev = curr;\n }\n return min;\n }\n\n /**\r\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\r\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\r\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\r\n * @private\r\n */\n function computeFitCategoryTraits(index, ruler, options) {\n var thickness = options.barThickness;\n var count = ruler.stackCount;\n var curr = ruler.pixels[index];\n var min = helpers$1.isNullOrUndef(thickness) ? computeMinSampleSize(ruler.scale, ruler.pixels) : -1;\n var size, ratio;\n if (helpers$1.isNullOrUndef(thickness)) {\n size = min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n // When bar thickness is enforced, category and bar percentages are ignored.\n // Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\n // and deprecate barPercentage since this value is ignored when thickness is absolute.\n size = thickness * count;\n ratio = 1;\n }\n return {\n chunk: size / count,\n ratio: ratio,\n start: curr - size / 2\n };\n }\n\n /**\r\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\r\n * percentage options are 1), based on the previous and following categories. This mode\r\n * generates bars with different widths when data are not evenly spaced.\r\n * @private\r\n */\n function computeFlexCategoryTraits(index, ruler, options) {\n var pixels = ruler.pixels;\n var curr = pixels[index];\n var prev = index > 0 ? pixels[index - 1] : null;\n var next = index < pixels.length - 1 ? pixels[index + 1] : null;\n var percent = options.categoryPercentage;\n var start, size;\n if (prev === null) {\n // first data: its size is double based on the next point or,\n // if it's also the last data, we use the scale size.\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n // last data: its size is also double based on the previous point.\n next = curr + curr - prev;\n }\n start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / ruler.stackCount,\n ratio: options.barPercentage,\n start: start\n };\n }\n var controller_bar = core_datasetController.extend({\n dataElementType: elements.Rectangle,\n /**\r\n * @private\r\n */\n _dataElementOptions: ['backgroundColor', 'borderColor', 'borderSkipped', 'borderWidth', 'barPercentage', 'barThickness', 'categoryPercentage', 'maxBarThickness', 'minBarLength'],\n initialize: function initialize() {\n var me = this;\n var meta, scaleOpts;\n core_datasetController.prototype.initialize.apply(me, arguments);\n meta = me.getMeta();\n meta.stack = me.getDataset().stack;\n meta.bar = true;\n scaleOpts = me._getIndexScale().options;\n deprecated('bar chart', scaleOpts.barPercentage, 'scales.[x/y]Axes.barPercentage', 'dataset.barPercentage');\n deprecated('bar chart', scaleOpts.barThickness, 'scales.[x/y]Axes.barThickness', 'dataset.barThickness');\n deprecated('bar chart', scaleOpts.categoryPercentage, 'scales.[x/y]Axes.categoryPercentage', 'dataset.categoryPercentage');\n deprecated('bar chart', me._getValueScale().options.minBarLength, 'scales.[x/y]Axes.minBarLength', 'dataset.minBarLength');\n deprecated('bar chart', scaleOpts.maxBarThickness, 'scales.[x/y]Axes.maxBarThickness', 'dataset.maxBarThickness');\n },\n update: function update(reset) {\n var me = this;\n var rects = me.getMeta().data;\n var i, ilen;\n me._ruler = me.getRuler();\n for (i = 0, ilen = rects.length; i < ilen; ++i) {\n me.updateElement(rects[i], i, reset);\n }\n },\n updateElement: function updateElement(rectangle, index, reset) {\n var me = this;\n var meta = me.getMeta();\n var dataset = me.getDataset();\n var options = me._resolveDataElementOptions(rectangle, index);\n rectangle._xScale = me.getScaleForId(meta.xAxisID);\n rectangle._yScale = me.getScaleForId(meta.yAxisID);\n rectangle._datasetIndex = me.index;\n rectangle._index = index;\n rectangle._model = {\n backgroundColor: options.backgroundColor,\n borderColor: options.borderColor,\n borderSkipped: options.borderSkipped,\n borderWidth: options.borderWidth,\n datasetLabel: dataset.label,\n label: me.chart.data.labels[index]\n };\n if (helpers$1.isArray(dataset.data[index])) {\n rectangle._model.borderSkipped = null;\n }\n me._updateElementGeometry(rectangle, index, reset, options);\n rectangle.pivot();\n },\n /**\r\n * @private\r\n */\n _updateElementGeometry: function _updateElementGeometry(rectangle, index, reset, options) {\n var me = this;\n var model = rectangle._model;\n var vscale = me._getValueScale();\n var base = vscale.getBasePixel();\n var horizontal = vscale.isHorizontal();\n var ruler = me._ruler || me.getRuler();\n var vpixels = me.calculateBarValuePixels(me.index, index, options);\n var ipixels = me.calculateBarIndexPixels(me.index, index, ruler, options);\n model.horizontal = horizontal;\n model.base = reset ? base : vpixels.base;\n model.x = horizontal ? reset ? base : vpixels.head : ipixels.center;\n model.y = horizontal ? ipixels.center : reset ? base : vpixels.head;\n model.height = horizontal ? ipixels.size : undefined;\n model.width = horizontal ? undefined : ipixels.size;\n },\n /**\r\n * Returns the stacks based on groups and bar visibility.\r\n * @param {number} [last] - The dataset index\r\n * @returns {string[]} The list of stack IDs\r\n * @private\r\n */\n _getStacks: function _getStacks(last) {\n var me = this;\n var scale = me._getIndexScale();\n var metasets = scale._getMatchingVisibleMetas(me._type);\n var stacked = scale.options.stacked;\n var ilen = metasets.length;\n var stacks = [];\n var i, meta;\n for (i = 0; i < ilen; ++i) {\n meta = metasets[i];\n // stacked | meta.stack\n // | found | not found | undefined\n // false | x | x | x\n // true | | x |\n // undefined | | x | x\n if (stacked === false || stacks.indexOf(meta.stack) === -1 || stacked === undefined && meta.stack === undefined) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n return stacks;\n },\n /**\r\n * Returns the effective number of stacks based on groups and bar visibility.\r\n * @private\r\n */\n getStackCount: function getStackCount() {\n return this._getStacks().length;\n },\n /**\r\n * Returns the stack index for the given dataset based on groups and bar visibility.\r\n * @param {number} [datasetIndex] - The dataset index\r\n * @param {string} [name] - The stack name to find\r\n * @returns {number} The stack index\r\n * @private\r\n */\n getStackIndex: function getStackIndex(datasetIndex, name) {\n var stacks = this._getStacks(datasetIndex);\n var index = name !== undefined ? stacks.indexOf(name) : -1; // indexOf returns -1 if element is not present\n\n return index === -1 ? stacks.length - 1 : index;\n },\n /**\r\n * @private\r\n */\n getRuler: function getRuler() {\n var me = this;\n var scale = me._getIndexScale();\n var pixels = [];\n var i, ilen;\n for (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) {\n pixels.push(scale.getPixelForValue(null, i, me.index));\n }\n return {\n pixels: pixels,\n start: scale._startPixel,\n end: scale._endPixel,\n stackCount: me.getStackCount(),\n scale: scale\n };\n },\n /**\r\n * Note: pixel values are not clamped to the scale area.\r\n * @private\r\n */\n calculateBarValuePixels: function calculateBarValuePixels(datasetIndex, index, options) {\n var me = this;\n var chart = me.chart;\n var scale = me._getValueScale();\n var isHorizontal = scale.isHorizontal();\n var datasets = chart.data.datasets;\n var metasets = scale._getMatchingVisibleMetas(me._type);\n var value = scale._parseValue(datasets[datasetIndex].data[index]);\n var minBarLength = options.minBarLength;\n var stacked = scale.options.stacked;\n var stack = me.getMeta().stack;\n var start = value.start === undefined ? 0 : value.max >= 0 && value.min >= 0 ? value.min : value.max;\n var length = value.start === undefined ? value.end : value.max >= 0 && value.min >= 0 ? value.max - value.min : value.min - value.max;\n var ilen = metasets.length;\n var i, imeta, ivalue, base, head, size, stackLength;\n if (stacked || stacked === undefined && stack !== undefined) {\n for (i = 0; i < ilen; ++i) {\n imeta = metasets[i];\n if (imeta.index === datasetIndex) {\n break;\n }\n if (imeta.stack === stack) {\n stackLength = scale._parseValue(datasets[imeta.index].data[index]);\n ivalue = stackLength.start === undefined ? stackLength.end : stackLength.min >= 0 && stackLength.max >= 0 ? stackLength.max : stackLength.min;\n if (value.min < 0 && ivalue < 0 || value.max >= 0 && ivalue > 0) {\n start += ivalue;\n }\n }\n }\n }\n base = scale.getPixelForValue(start);\n head = scale.getPixelForValue(start + length);\n size = head - base;\n if (minBarLength !== undefined && Math.abs(size) < minBarLength) {\n size = minBarLength;\n if (length >= 0 && !isHorizontal || length < 0 && isHorizontal) {\n head = base - minBarLength;\n } else {\n head = base + minBarLength;\n }\n }\n return {\n size: size,\n base: base,\n head: head,\n center: head + size / 2\n };\n },\n /**\r\n * @private\r\n */\n calculateBarIndexPixels: function calculateBarIndexPixels(datasetIndex, index, ruler, options) {\n var me = this;\n var range = options.barThickness === 'flex' ? computeFlexCategoryTraits(index, ruler, options) : computeFitCategoryTraits(index, ruler, options);\n var stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);\n var center = range.start + range.chunk * stackIndex + range.chunk / 2;\n var size = Math.min(valueOrDefault$3(options.maxBarThickness, Infinity), range.chunk * range.ratio);\n return {\n base: center - size / 2,\n head: center + size / 2,\n center: center,\n size: size\n };\n },\n draw: function draw() {\n var me = this;\n var chart = me.chart;\n var scale = me._getValueScale();\n var rects = me.getMeta().data;\n var dataset = me.getDataset();\n var ilen = rects.length;\n var i = 0;\n helpers$1.canvas.clipArea(chart.ctx, chart.chartArea);\n for (; i < ilen; ++i) {\n var val = scale._parseValue(dataset.data[i]);\n if (!isNaN(val.min) && !isNaN(val.max)) {\n rects[i].draw();\n }\n }\n helpers$1.canvas.unclipArea(chart.ctx);\n },\n /**\r\n * @private\r\n */\n _resolveDataElementOptions: function _resolveDataElementOptions() {\n var me = this;\n var values = helpers$1.extend({}, core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments));\n var indexOpts = me._getIndexScale().options;\n var valueOpts = me._getValueScale().options;\n values.barPercentage = valueOrDefault$3(indexOpts.barPercentage, values.barPercentage);\n values.barThickness = valueOrDefault$3(indexOpts.barThickness, values.barThickness);\n values.categoryPercentage = valueOrDefault$3(indexOpts.categoryPercentage, values.categoryPercentage);\n values.maxBarThickness = valueOrDefault$3(indexOpts.maxBarThickness, values.maxBarThickness);\n values.minBarLength = valueOrDefault$3(valueOpts.minBarLength, values.minBarLength);\n return values;\n }\n });\n var valueOrDefault$4 = helpers$1.valueOrDefault;\n var resolve$1 = helpers$1.options.resolve;\n core_defaults._set('bubble', {\n hover: {\n mode: 'single'\n },\n scales: {\n xAxes: [{\n type: 'linear',\n // bubble should probably use a linear scale by default\n position: 'bottom',\n id: 'x-axis-0' // need an ID so datasets can reference the scale\n }],\n yAxes: [{\n type: 'linear',\n position: 'left',\n id: 'y-axis-0'\n }]\n },\n tooltips: {\n callbacks: {\n title: function title() {\n // Title doesn't make sense for scatter since we format the data as a point\n return '';\n },\n label: function label(item, data) {\n var datasetLabel = data.datasets[item.datasetIndex].label || '';\n var dataPoint = data.datasets[item.datasetIndex].data[item.index];\n return datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';\n }\n }\n }\n });\n var controller_bubble = core_datasetController.extend({\n /**\r\n * @protected\r\n */\n dataElementType: elements.Point,\n /**\r\n * @private\r\n */\n _dataElementOptions: ['backgroundColor', 'borderColor', 'borderWidth', 'hoverBackgroundColor', 'hoverBorderColor', 'hoverBorderWidth', 'hoverRadius', 'hitRadius', 'pointStyle', 'rotation'],\n /**\r\n * @protected\r\n */\n update: function update(reset) {\n var me = this;\n var meta = me.getMeta();\n var points = meta.data;\n\n // Update Points\n helpers$1.each(points, function (point, index) {\n me.updateElement(point, index, reset);\n });\n },\n /**\r\n * @protected\r\n */\n updateElement: function updateElement(point, index, reset) {\n var me = this;\n var meta = me.getMeta();\n var custom = point.custom || {};\n var xScale = me.getScaleForId(meta.xAxisID);\n var yScale = me.getScaleForId(meta.yAxisID);\n var options = me._resolveDataElementOptions(point, index);\n var data = me.getDataset().data[index];\n var dsIndex = me.index;\n var x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(_typeof(data) === 'object' ? data : NaN, index, dsIndex);\n var y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);\n point._xScale = xScale;\n point._yScale = yScale;\n point._options = options;\n point._datasetIndex = dsIndex;\n point._index = index;\n point._model = {\n backgroundColor: options.backgroundColor,\n borderColor: options.borderColor,\n borderWidth: options.borderWidth,\n hitRadius: options.hitRadius,\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n radius: reset ? 0 : options.radius,\n skip: custom.skip || isNaN(x) || isNaN(y),\n x: x,\n y: y\n };\n point.pivot();\n },\n /**\r\n * @protected\r\n */\n setHoverStyle: function setHoverStyle(point) {\n var model = point._model;\n var options = point._options;\n var getHoverColor = helpers$1.getHoverColor;\n point.$previousStyle = {\n backgroundColor: model.backgroundColor,\n borderColor: model.borderColor,\n borderWidth: model.borderWidth,\n radius: model.radius\n };\n model.backgroundColor = valueOrDefault$4(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\n model.borderColor = valueOrDefault$4(options.hoverBorderColor, getHoverColor(options.borderColor));\n model.borderWidth = valueOrDefault$4(options.hoverBorderWidth, options.borderWidth);\n model.radius = options.radius + options.hoverRadius;\n },\n /**\r\n * @private\r\n */\n _resolveDataElementOptions: function _resolveDataElementOptions(point, index) {\n var me = this;\n var chart = me.chart;\n var dataset = me.getDataset();\n var custom = point.custom || {};\n var data = dataset.data[index] || {};\n var values = core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments);\n\n // Scriptable options\n var context = {\n chart: chart,\n dataIndex: index,\n dataset: dataset,\n datasetIndex: me.index\n };\n\n // In case values were cached (and thus frozen), we need to clone the values\n if (me._cachedDataOpts === values) {\n values = helpers$1.extend({}, values);\n }\n\n // Custom radius resolution\n values.radius = resolve$1([custom.radius, data.r, me._config.radius, chart.options.elements.point.radius], context, index);\n return values;\n }\n });\n var valueOrDefault$5 = helpers$1.valueOrDefault;\n var PI$1 = Math.PI;\n var DOUBLE_PI$1 = PI$1 * 2;\n var HALF_PI$1 = PI$1 / 2;\n core_defaults._set('doughnut', {\n animation: {\n // Boolean - Whether we animate the rotation of the Doughnut\n animateRotate: true,\n // Boolean - Whether we animate scaling the Doughnut from the centre\n animateScale: false\n },\n hover: {\n mode: 'single'\n },\n legendCallback: function legendCallback(chart) {\n var list = document.createElement('ul');\n var data = chart.data;\n var datasets = data.datasets;\n var labels = data.labels;\n var i, ilen, listItem, listItemSpan;\n list.setAttribute('class', chart.id + '-legend');\n if (datasets.length) {\n for (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\n listItem = list.appendChild(document.createElement('li'));\n listItemSpan = listItem.appendChild(document.createElement('span'));\n listItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\n if (labels[i]) {\n listItem.appendChild(document.createTextNode(labels[i]));\n }\n }\n }\n return list.outerHTML;\n },\n legend: {\n labels: {\n generateLabels: function generateLabels(chart) {\n var data = chart.data;\n if (data.labels.length && data.datasets.length) {\n return data.labels.map(function (label, i) {\n var meta = chart.getDatasetMeta(0);\n var style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n hidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\n // Extra data used for toggling the correct item\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick: function onClick(e, legendItem) {\n var index = legendItem.index;\n var chart = this.chart;\n var i, ilen, meta;\n for (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\n meta = chart.getDatasetMeta(i);\n // toggle visibility of index if exists\n if (meta.data[index]) {\n meta.data[index].hidden = !meta.data[index].hidden;\n }\n }\n chart.update();\n }\n },\n // The percentage of the chart that we cut out of the middle.\n cutoutPercentage: 50,\n // The rotation of the chart, where the first data arc begins.\n rotation: -HALF_PI$1,\n // The total circumference of the chart.\n circumference: DOUBLE_PI$1,\n // Need to override these to give a nice default\n tooltips: {\n callbacks: {\n title: function title() {\n return '';\n },\n label: function label(tooltipItem, data) {\n var dataLabel = data.labels[tooltipItem.index];\n var value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\n if (helpers$1.isArray(dataLabel)) {\n // show value on first line of multiline label\n // need to clone because we are changing the value\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n return dataLabel;\n }\n }\n }\n });\n var controller_doughnut = core_datasetController.extend({\n dataElementType: elements.Arc,\n linkScales: helpers$1.noop,\n /**\r\n * @private\r\n */\n _dataElementOptions: ['backgroundColor', 'borderColor', 'borderWidth', 'borderAlign', 'hoverBackgroundColor', 'hoverBorderColor', 'hoverBorderWidth'],\n // Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\n getRingIndex: function getRingIndex(datasetIndex) {\n var ringIndex = 0;\n for (var j = 0; j < datasetIndex; ++j) {\n if (this.chart.isDatasetVisible(j)) {\n ++ringIndex;\n }\n }\n return ringIndex;\n },\n update: function update(reset) {\n var me = this;\n var chart = me.chart;\n var chartArea = chart.chartArea;\n var opts = chart.options;\n var ratioX = 1;\n var ratioY = 1;\n var offsetX = 0;\n var offsetY = 0;\n var meta = me.getMeta();\n var arcs = meta.data;\n var cutout = opts.cutoutPercentage / 100 || 0;\n var circumference = opts.circumference;\n var chartWeight = me._getRingWeight(me.index);\n var maxWidth, maxHeight, i, ilen;\n\n // If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc\n if (circumference < DOUBLE_PI$1) {\n var startAngle = opts.rotation % DOUBLE_PI$1;\n startAngle += startAngle >= PI$1 ? -DOUBLE_PI$1 : startAngle < -PI$1 ? DOUBLE_PI$1 : 0;\n var endAngle = startAngle + circumference;\n var startX = Math.cos(startAngle);\n var startY = Math.sin(startAngle);\n var endX = Math.cos(endAngle);\n var endY = Math.sin(endAngle);\n var contains0 = startAngle <= 0 && endAngle >= 0 || endAngle >= DOUBLE_PI$1;\n var contains90 = startAngle <= HALF_PI$1 && endAngle >= HALF_PI$1 || endAngle >= DOUBLE_PI$1 + HALF_PI$1;\n var contains180 = startAngle === -PI$1 || endAngle >= PI$1;\n var contains270 = startAngle <= -HALF_PI$1 && endAngle >= -HALF_PI$1 || endAngle >= PI$1 + HALF_PI$1;\n var minX = contains180 ? -1 : Math.min(startX, startX * cutout, endX, endX * cutout);\n var minY = contains270 ? -1 : Math.min(startY, startY * cutout, endY, endY * cutout);\n var maxX = contains0 ? 1 : Math.max(startX, startX * cutout, endX, endX * cutout);\n var maxY = contains90 ? 1 : Math.max(startY, startY * cutout, endY, endY * cutout);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n arcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\n }\n chart.borderWidth = me.getMaxBorderWidth();\n maxWidth = (chartArea.right - chartArea.left - chart.borderWidth) / ratioX;\n maxHeight = (chartArea.bottom - chartArea.top - chart.borderWidth) / ratioY;\n chart.outerRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n chart.innerRadius = Math.max(chart.outerRadius * cutout, 0);\n chart.radiusLength = (chart.outerRadius - chart.innerRadius) / (me._getVisibleDatasetWeightTotal() || 1);\n chart.offsetX = offsetX * chart.outerRadius;\n chart.offsetY = offsetY * chart.outerRadius;\n meta.total = me.calculateTotal();\n me.outerRadius = chart.outerRadius - chart.radiusLength * me._getRingWeightOffset(me.index);\n me.innerRadius = Math.max(me.outerRadius - chart.radiusLength * chartWeight, 0);\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n me.updateElement(arcs[i], i, reset);\n }\n },\n updateElement: function updateElement(arc, index, reset) {\n var me = this;\n var chart = me.chart;\n var chartArea = chart.chartArea;\n var opts = chart.options;\n var animationOpts = opts.animation;\n var centerX = (chartArea.left + chartArea.right) / 2;\n var centerY = (chartArea.top + chartArea.bottom) / 2;\n var startAngle = opts.rotation; // non reset case handled later\n var endAngle = opts.rotation; // non reset case handled later\n var dataset = me.getDataset();\n var circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / DOUBLE_PI$1);\n var innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;\n var outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;\n var options = arc._options || {};\n helpers$1.extend(arc, {\n // Utility\n _datasetIndex: me.index,\n _index: index,\n // Desired view properties\n _model: {\n backgroundColor: options.backgroundColor,\n borderColor: options.borderColor,\n borderWidth: options.borderWidth,\n borderAlign: options.borderAlign,\n x: centerX + chart.offsetX,\n y: centerY + chart.offsetY,\n startAngle: startAngle,\n endAngle: endAngle,\n circumference: circumference,\n outerRadius: outerRadius,\n innerRadius: innerRadius,\n label: helpers$1.valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\n }\n });\n var model = arc._model;\n\n // Set correct angles if not resetting\n if (!reset || !animationOpts.animateRotate) {\n if (index === 0) {\n model.startAngle = opts.rotation;\n } else {\n model.startAngle = me.getMeta().data[index - 1]._model.endAngle;\n }\n model.endAngle = model.startAngle + model.circumference;\n }\n arc.pivot();\n },\n calculateTotal: function calculateTotal() {\n var dataset = this.getDataset();\n var meta = this.getMeta();\n var total = 0;\n var value;\n helpers$1.each(meta.data, function (element, index) {\n value = dataset.data[index];\n if (!isNaN(value) && !element.hidden) {\n total += Math.abs(value);\n }\n });\n\n /* if (total === 0) {\r\n \ttotal = NaN;\r\n }*/\n\n return total;\n },\n calculateCircumference: function calculateCircumference(value) {\n var total = this.getMeta().total;\n if (total > 0 && !isNaN(value)) {\n return DOUBLE_PI$1 * (Math.abs(value) / total);\n }\n return 0;\n },\n // gets the max border or hover width to properly scale pie charts\n getMaxBorderWidth: function getMaxBorderWidth(arcs) {\n var me = this;\n var max = 0;\n var chart = me.chart;\n var i, ilen, meta, arc, controller, options, borderWidth, hoverWidth;\n if (!arcs) {\n // Find the outmost visible dataset\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n if (i !== me.index) {\n controller = meta.controller;\n }\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n arc = arcs[i];\n if (controller) {\n controller._configure();\n options = controller._resolveDataElementOptions(arc, i);\n } else {\n options = arc._options;\n }\n if (options.borderAlign !== 'inner') {\n borderWidth = options.borderWidth;\n hoverWidth = options.hoverBorderWidth;\n max = borderWidth > max ? borderWidth : max;\n max = hoverWidth > max ? hoverWidth : max;\n }\n }\n return max;\n },\n /**\r\n * @protected\r\n */\n setHoverStyle: function setHoverStyle(arc) {\n var model = arc._model;\n var options = arc._options;\n var getHoverColor = helpers$1.getHoverColor;\n arc.$previousStyle = {\n backgroundColor: model.backgroundColor,\n borderColor: model.borderColor,\n borderWidth: model.borderWidth\n };\n model.backgroundColor = valueOrDefault$5(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\n model.borderColor = valueOrDefault$5(options.hoverBorderColor, getHoverColor(options.borderColor));\n model.borderWidth = valueOrDefault$5(options.hoverBorderWidth, options.borderWidth);\n },\n /**\r\n * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly\r\n * @private\r\n */\n _getRingWeightOffset: function _getRingWeightOffset(datasetIndex) {\n var ringWeightOffset = 0;\n for (var i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n },\n /**\r\n * @private\r\n */\n _getRingWeight: function _getRingWeight(dataSetIndex) {\n return Math.max(valueOrDefault$5(this.chart.data.datasets[dataSetIndex].weight, 1), 0);\n },\n /**\r\n * Returns the sum of all visibile data set weights. This value can be 0.\r\n * @private\r\n */\n _getVisibleDatasetWeightTotal: function _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length);\n }\n });\n core_defaults._set('horizontalBar', {\n hover: {\n mode: 'index',\n axis: 'y'\n },\n scales: {\n xAxes: [{\n type: 'linear',\n position: 'bottom'\n }],\n yAxes: [{\n type: 'category',\n position: 'left',\n offset: true,\n gridLines: {\n offsetGridLines: true\n }\n }]\n },\n elements: {\n rectangle: {\n borderSkipped: 'left'\n }\n },\n tooltips: {\n mode: 'index',\n axis: 'y'\n }\n });\n core_defaults._set('global', {\n datasets: {\n horizontalBar: {\n categoryPercentage: 0.8,\n barPercentage: 0.9\n }\n }\n });\n var controller_horizontalBar = controller_bar.extend({\n /**\r\n * @private\r\n */\n _getValueScaleId: function _getValueScaleId() {\n return this.getMeta().xAxisID;\n },\n /**\r\n * @private\r\n */\n _getIndexScaleId: function _getIndexScaleId() {\n return this.getMeta().yAxisID;\n }\n });\n var valueOrDefault$6 = helpers$1.valueOrDefault;\n var resolve$2 = helpers$1.options.resolve;\n var isPointInArea = helpers$1.canvas._isPointInArea;\n core_defaults._set('line', {\n showLines: true,\n spanGaps: false,\n hover: {\n mode: 'label'\n },\n scales: {\n xAxes: [{\n type: 'category',\n id: 'x-axis-0'\n }],\n yAxes: [{\n type: 'linear',\n id: 'y-axis-0'\n }]\n }\n });\n function scaleClip(scale, halfBorderWidth) {\n var tickOpts = scale && scale.options.ticks || {};\n var reverse = tickOpts.reverse;\n var min = tickOpts.min === undefined ? halfBorderWidth : 0;\n var max = tickOpts.max === undefined ? halfBorderWidth : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n }\n function defaultClip(xScale, yScale, borderWidth) {\n var halfBorderWidth = borderWidth / 2;\n var x = scaleClip(xScale, halfBorderWidth);\n var y = scaleClip(yScale, halfBorderWidth);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n }\n function toClip(value) {\n var t, r, b, l;\n if (helpers$1.isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l\n };\n }\n var controller_line = core_datasetController.extend({\n datasetElementType: elements.Line,\n dataElementType: elements.Point,\n /**\r\n * @private\r\n */\n _datasetElementOptions: ['backgroundColor', 'borderCapStyle', 'borderColor', 'borderDash', 'borderDashOffset', 'borderJoinStyle', 'borderWidth', 'cubicInterpolationMode', 'fill'],\n /**\r\n * @private\r\n */\n _dataElementOptions: {\n backgroundColor: 'pointBackgroundColor',\n borderColor: 'pointBorderColor',\n borderWidth: 'pointBorderWidth',\n hitRadius: 'pointHitRadius',\n hoverBackgroundColor: 'pointHoverBackgroundColor',\n hoverBorderColor: 'pointHoverBorderColor',\n hoverBorderWidth: 'pointHoverBorderWidth',\n hoverRadius: 'pointHoverRadius',\n pointStyle: 'pointStyle',\n radius: 'pointRadius',\n rotation: 'pointRotation'\n },\n update: function update(reset) {\n var me = this;\n var meta = me.getMeta();\n var line = meta.dataset;\n var points = meta.data || [];\n var options = me.chart.options;\n var config = me._config;\n var showLine = me._showLine = valueOrDefault$6(config.showLine, options.showLines);\n var i, ilen;\n me._xScale = me.getScaleForId(meta.xAxisID);\n me._yScale = me.getScaleForId(meta.yAxisID);\n\n // Update Line\n if (showLine) {\n // Compatibility: If the properties are defined with only the old name, use those values\n if (config.tension !== undefined && config.lineTension === undefined) {\n config.lineTension = config.tension;\n }\n\n // Utility\n line._scale = me._yScale;\n line._datasetIndex = me.index;\n // Data\n line._children = points;\n // Model\n line._model = me._resolveDatasetElementOptions(line);\n line.pivot();\n }\n\n // Update Points\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n me.updateElement(points[i], i, reset);\n }\n if (showLine && line._model.tension !== 0) {\n me.updateBezierControlPoints();\n }\n\n // Now pivot the point for animation\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n points[i].pivot();\n }\n },\n updateElement: function updateElement(point, index, reset) {\n var me = this;\n var meta = me.getMeta();\n var custom = point.custom || {};\n var dataset = me.getDataset();\n var datasetIndex = me.index;\n var value = dataset.data[index];\n var xScale = me._xScale;\n var yScale = me._yScale;\n var lineModel = meta.dataset._model;\n var x, y;\n var options = me._resolveDataElementOptions(point, index);\n x = xScale.getPixelForValue(_typeof(value) === 'object' ? value : NaN, index, datasetIndex);\n y = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\n\n // Utility\n point._xScale = xScale;\n point._yScale = yScale;\n point._options = options;\n point._datasetIndex = datasetIndex;\n point._index = index;\n\n // Desired view properties\n point._model = {\n x: x,\n y: y,\n skip: custom.skip || isNaN(x) || isNaN(y),\n // Appearance\n radius: options.radius,\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n backgroundColor: options.backgroundColor,\n borderColor: options.borderColor,\n borderWidth: options.borderWidth,\n tension: valueOrDefault$6(custom.tension, lineModel ? lineModel.tension : 0),\n steppedLine: lineModel ? lineModel.steppedLine : false,\n // Tooltip\n hitRadius: options.hitRadius\n };\n },\n /**\r\n * @private\r\n */\n _resolveDatasetElementOptions: function _resolveDatasetElementOptions(element) {\n var me = this;\n var config = me._config;\n var custom = element.custom || {};\n var options = me.chart.options;\n var lineOptions = options.elements.line;\n var values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\n\n // The default behavior of lines is to break at null values, according\n // to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\n // This option gives lines the ability to span gaps\n values.spanGaps = valueOrDefault$6(config.spanGaps, options.spanGaps);\n values.tension = valueOrDefault$6(config.lineTension, lineOptions.tension);\n values.steppedLine = resolve$2([custom.steppedLine, config.steppedLine, lineOptions.stepped]);\n values.clip = toClip(valueOrDefault$6(config.clip, defaultClip(me._xScale, me._yScale, values.borderWidth)));\n return values;\n },\n calculatePointY: function calculatePointY(value, index, datasetIndex) {\n var me = this;\n var chart = me.chart;\n var yScale = me._yScale;\n var sumPos = 0;\n var sumNeg = 0;\n var i, ds, dsMeta, stackedRightValue, rightValue, metasets, ilen;\n if (yScale.options.stacked) {\n rightValue = +yScale.getRightValue(value);\n metasets = chart._getSortedVisibleDatasetMetas();\n ilen = metasets.length;\n for (i = 0; i < ilen; ++i) {\n dsMeta = metasets[i];\n if (dsMeta.index === datasetIndex) {\n break;\n }\n ds = chart.data.datasets[dsMeta.index];\n if (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id) {\n stackedRightValue = +yScale.getRightValue(ds.data[index]);\n if (stackedRightValue < 0) {\n sumNeg += stackedRightValue || 0;\n } else {\n sumPos += stackedRightValue || 0;\n }\n }\n }\n if (rightValue < 0) {\n return yScale.getPixelForValue(sumNeg + rightValue);\n }\n return yScale.getPixelForValue(sumPos + rightValue);\n }\n return yScale.getPixelForValue(value);\n },\n updateBezierControlPoints: function updateBezierControlPoints() {\n var me = this;\n var chart = me.chart;\n var meta = me.getMeta();\n var lineModel = meta.dataset._model;\n var area = chart.chartArea;\n var points = meta.data || [];\n var i, ilen, model, controlPoints;\n\n // Only consider points that are drawn in case the spanGaps option is used\n if (lineModel.spanGaps) {\n points = points.filter(function (pt) {\n return !pt._model.skip;\n });\n }\n function capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n }\n if (lineModel.cubicInterpolationMode === 'monotone') {\n helpers$1.splineCurveMonotone(points);\n } else {\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n model = points[i]._model;\n controlPoints = helpers$1.splineCurve(helpers$1.previousItem(points, i)._model, model, helpers$1.nextItem(points, i)._model, lineModel.tension);\n model.controlPointPreviousX = controlPoints.previous.x;\n model.controlPointPreviousY = controlPoints.previous.y;\n model.controlPointNextX = controlPoints.next.x;\n model.controlPointNextY = controlPoints.next.y;\n }\n }\n if (chart.options.elements.line.capBezierPoints) {\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n model = points[i]._model;\n if (isPointInArea(model, area)) {\n if (i > 0 && isPointInArea(points[i - 1]._model, area)) {\n model.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\n model.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\n }\n if (i < points.length - 1 && isPointInArea(points[i + 1]._model, area)) {\n model.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\n model.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\n }\n }\n }\n }\n },\n draw: function draw() {\n var me = this;\n var chart = me.chart;\n var meta = me.getMeta();\n var points = meta.data || [];\n var area = chart.chartArea;\n var canvas = chart.canvas;\n var i = 0;\n var ilen = points.length;\n var clip;\n if (me._showLine) {\n clip = meta.dataset._model.clip;\n helpers$1.canvas.clipArea(chart.ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? canvas.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? canvas.height : area.bottom + clip.bottom\n });\n meta.dataset.draw();\n helpers$1.canvas.unclipArea(chart.ctx);\n }\n\n // Draw the points\n for (; i < ilen; ++i) {\n points[i].draw(area);\n }\n },\n /**\r\n * @protected\r\n */\n setHoverStyle: function setHoverStyle(point) {\n var model = point._model;\n var options = point._options;\n var getHoverColor = helpers$1.getHoverColor;\n point.$previousStyle = {\n backgroundColor: model.backgroundColor,\n borderColor: model.borderColor,\n borderWidth: model.borderWidth,\n radius: model.radius\n };\n model.backgroundColor = valueOrDefault$6(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\n model.borderColor = valueOrDefault$6(options.hoverBorderColor, getHoverColor(options.borderColor));\n model.borderWidth = valueOrDefault$6(options.hoverBorderWidth, options.borderWidth);\n model.radius = valueOrDefault$6(options.hoverRadius, options.radius);\n }\n });\n var resolve$3 = helpers$1.options.resolve;\n core_defaults._set('polarArea', {\n scale: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n gridLines: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n ticks: {\n beginAtZero: true\n }\n },\n // Boolean - Whether to animate the rotation of the chart\n animation: {\n animateRotate: true,\n animateScale: true\n },\n startAngle: -0.5 * Math.PI,\n legendCallback: function legendCallback(chart) {\n var list = document.createElement('ul');\n var data = chart.data;\n var datasets = data.datasets;\n var labels = data.labels;\n var i, ilen, listItem, listItemSpan;\n list.setAttribute('class', chart.id + '-legend');\n if (datasets.length) {\n for (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\n listItem = list.appendChild(document.createElement('li'));\n listItemSpan = listItem.appendChild(document.createElement('span'));\n listItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\n if (labels[i]) {\n listItem.appendChild(document.createTextNode(labels[i]));\n }\n }\n }\n return list.outerHTML;\n },\n legend: {\n labels: {\n generateLabels: function generateLabels(chart) {\n var data = chart.data;\n if (data.labels.length && data.datasets.length) {\n return data.labels.map(function (label, i) {\n var meta = chart.getDatasetMeta(0);\n var style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n hidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\n // Extra data used for toggling the correct item\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick: function onClick(e, legendItem) {\n var index = legendItem.index;\n var chart = this.chart;\n var i, ilen, meta;\n for (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\n meta = chart.getDatasetMeta(i);\n meta.data[index].hidden = !meta.data[index].hidden;\n }\n chart.update();\n }\n },\n // Need to override these to give a nice default\n tooltips: {\n callbacks: {\n title: function title() {\n return '';\n },\n label: function label(item, data) {\n return data.labels[item.index] + ': ' + item.yLabel;\n }\n }\n }\n });\n var controller_polarArea = core_datasetController.extend({\n dataElementType: elements.Arc,\n linkScales: helpers$1.noop,\n /**\r\n * @private\r\n */\n _dataElementOptions: ['backgroundColor', 'borderColor', 'borderWidth', 'borderAlign', 'hoverBackgroundColor', 'hoverBorderColor', 'hoverBorderWidth'],\n /**\r\n * @private\r\n */\n _getIndexScaleId: function _getIndexScaleId() {\n return this.chart.scale.id;\n },\n /**\r\n * @private\r\n */\n _getValueScaleId: function _getValueScaleId() {\n return this.chart.scale.id;\n },\n update: function update(reset) {\n var me = this;\n var dataset = me.getDataset();\n var meta = me.getMeta();\n var start = me.chart.options.startAngle || 0;\n var starts = me._starts = [];\n var angles = me._angles = [];\n var arcs = meta.data;\n var i, ilen, angle;\n me._updateRadius();\n meta.count = me.countVisibleElements();\n for (i = 0, ilen = dataset.data.length; i < ilen; i++) {\n starts[i] = start;\n angle = me._computeAngle(i);\n angles[i] = angle;\n start += angle;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n arcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\n me.updateElement(arcs[i], i, reset);\n }\n },\n /**\r\n * @private\r\n */\n _updateRadius: function _updateRadius() {\n var me = this;\n var chart = me.chart;\n var chartArea = chart.chartArea;\n var opts = chart.options;\n var minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n chart.outerRadius = Math.max(minSize / 2, 0);\n chart.innerRadius = Math.max(opts.cutoutPercentage ? chart.outerRadius / 100 * opts.cutoutPercentage : 1, 0);\n chart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\n me.outerRadius = chart.outerRadius - chart.radiusLength * me.index;\n me.innerRadius = me.outerRadius - chart.radiusLength;\n },\n updateElement: function updateElement(arc, index, reset) {\n var me = this;\n var chart = me.chart;\n var dataset = me.getDataset();\n var opts = chart.options;\n var animationOpts = opts.animation;\n var scale = chart.scale;\n var labels = chart.data.labels;\n var centerX = scale.xCenter;\n var centerY = scale.yCenter;\n\n // var negHalfPI = -0.5 * Math.PI;\n var datasetStartAngle = opts.startAngle;\n var distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\n var startAngle = me._starts[index];\n var endAngle = startAngle + (arc.hidden ? 0 : me._angles[index]);\n var resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\n var options = arc._options || {};\n helpers$1.extend(arc, {\n // Utility\n _datasetIndex: me.index,\n _index: index,\n _scale: scale,\n // Desired view properties\n _model: {\n backgroundColor: options.backgroundColor,\n borderColor: options.borderColor,\n borderWidth: options.borderWidth,\n borderAlign: options.borderAlign,\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius: reset ? resetRadius : distance,\n startAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,\n endAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,\n label: helpers$1.valueAtIndexOrDefault(labels, index, labels[index])\n }\n });\n arc.pivot();\n },\n countVisibleElements: function countVisibleElements() {\n var dataset = this.getDataset();\n var meta = this.getMeta();\n var count = 0;\n helpers$1.each(meta.data, function (element, index) {\n if (!isNaN(dataset.data[index]) && !element.hidden) {\n count++;\n }\n });\n return count;\n },\n /**\r\n * @protected\r\n */\n setHoverStyle: function setHoverStyle(arc) {\n var model = arc._model;\n var options = arc._options;\n var getHoverColor = helpers$1.getHoverColor;\n var valueOrDefault = helpers$1.valueOrDefault;\n arc.$previousStyle = {\n backgroundColor: model.backgroundColor,\n borderColor: model.borderColor,\n borderWidth: model.borderWidth\n };\n model.backgroundColor = valueOrDefault(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\n model.borderColor = valueOrDefault(options.hoverBorderColor, getHoverColor(options.borderColor));\n model.borderWidth = valueOrDefault(options.hoverBorderWidth, options.borderWidth);\n },\n /**\r\n * @private\r\n */\n _computeAngle: function _computeAngle(index) {\n var me = this;\n var count = this.getMeta().count;\n var dataset = me.getDataset();\n var meta = me.getMeta();\n if (isNaN(dataset.data[index]) || meta.data[index].hidden) {\n return 0;\n }\n\n // Scriptable options\n var context = {\n chart: me.chart,\n dataIndex: index,\n dataset: dataset,\n datasetIndex: me.index\n };\n return resolve$3([me.chart.options.elements.arc.angle, 2 * Math.PI / count], context, index);\n }\n });\n core_defaults._set('pie', helpers$1.clone(core_defaults.doughnut));\n core_defaults._set('pie', {\n cutoutPercentage: 0\n });\n\n // Pie charts are Doughnut chart with different defaults\n var controller_pie = controller_doughnut;\n var valueOrDefault$7 = helpers$1.valueOrDefault;\n core_defaults._set('radar', {\n spanGaps: false,\n scale: {\n type: 'radialLinear'\n },\n elements: {\n line: {\n fill: 'start',\n tension: 0 // no bezier in radar\n }\n }\n });\n var controller_radar = core_datasetController.extend({\n datasetElementType: elements.Line,\n dataElementType: elements.Point,\n linkScales: helpers$1.noop,\n /**\r\n * @private\r\n */\n _datasetElementOptions: ['backgroundColor', 'borderWidth', 'borderColor', 'borderCapStyle', 'borderDash', 'borderDashOffset', 'borderJoinStyle', 'fill'],\n /**\r\n * @private\r\n */\n _dataElementOptions: {\n backgroundColor: 'pointBackgroundColor',\n borderColor: 'pointBorderColor',\n borderWidth: 'pointBorderWidth',\n hitRadius: 'pointHitRadius',\n hoverBackgroundColor: 'pointHoverBackgroundColor',\n hoverBorderColor: 'pointHoverBorderColor',\n hoverBorderWidth: 'pointHoverBorderWidth',\n hoverRadius: 'pointHoverRadius',\n pointStyle: 'pointStyle',\n radius: 'pointRadius',\n rotation: 'pointRotation'\n },\n /**\r\n * @private\r\n */\n _getIndexScaleId: function _getIndexScaleId() {\n return this.chart.scale.id;\n },\n /**\r\n * @private\r\n */\n _getValueScaleId: function _getValueScaleId() {\n return this.chart.scale.id;\n },\n update: function update(reset) {\n var me = this;\n var meta = me.getMeta();\n var line = meta.dataset;\n var points = meta.data || [];\n var scale = me.chart.scale;\n var config = me._config;\n var i, ilen;\n\n // Compatibility: If the properties are defined with only the old name, use those values\n if (config.tension !== undefined && config.lineTension === undefined) {\n config.lineTension = config.tension;\n }\n\n // Utility\n line._scale = scale;\n line._datasetIndex = me.index;\n // Data\n line._children = points;\n line._loop = true;\n // Model\n line._model = me._resolveDatasetElementOptions(line);\n line.pivot();\n\n // Update Points\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n me.updateElement(points[i], i, reset);\n }\n\n // Update bezier control points\n me.updateBezierControlPoints();\n\n // Now pivot the point for animation\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n points[i].pivot();\n }\n },\n updateElement: function updateElement(point, index, reset) {\n var me = this;\n var custom = point.custom || {};\n var dataset = me.getDataset();\n var scale = me.chart.scale;\n var pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\n var options = me._resolveDataElementOptions(point, index);\n var lineModel = me.getMeta().dataset._model;\n var x = reset ? scale.xCenter : pointPosition.x;\n var y = reset ? scale.yCenter : pointPosition.y;\n\n // Utility\n point._scale = scale;\n point._options = options;\n point._datasetIndex = me.index;\n point._index = index;\n\n // Desired view properties\n point._model = {\n x: x,\n // value not used in dataset scale, but we want a consistent API between scales\n y: y,\n skip: custom.skip || isNaN(x) || isNaN(y),\n // Appearance\n radius: options.radius,\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n backgroundColor: options.backgroundColor,\n borderColor: options.borderColor,\n borderWidth: options.borderWidth,\n tension: valueOrDefault$7(custom.tension, lineModel ? lineModel.tension : 0),\n // Tooltip\n hitRadius: options.hitRadius\n };\n },\n /**\r\n * @private\r\n */\n _resolveDatasetElementOptions: function _resolveDatasetElementOptions() {\n var me = this;\n var config = me._config;\n var options = me.chart.options;\n var values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\n values.spanGaps = valueOrDefault$7(config.spanGaps, options.spanGaps);\n values.tension = valueOrDefault$7(config.lineTension, options.elements.line.tension);\n return values;\n },\n updateBezierControlPoints: function updateBezierControlPoints() {\n var me = this;\n var meta = me.getMeta();\n var area = me.chart.chartArea;\n var points = meta.data || [];\n var i, ilen, model, controlPoints;\n\n // Only consider points that are drawn in case the spanGaps option is used\n if (meta.dataset._model.spanGaps) {\n points = points.filter(function (pt) {\n return !pt._model.skip;\n });\n }\n function capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n }\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n model = points[i]._model;\n controlPoints = helpers$1.splineCurve(helpers$1.previousItem(points, i, true)._model, model, helpers$1.nextItem(points, i, true)._model, model.tension);\n\n // Prevent the bezier going outside of the bounds of the graph\n model.controlPointPreviousX = capControlPoint(controlPoints.previous.x, area.left, area.right);\n model.controlPointPreviousY = capControlPoint(controlPoints.previous.y, area.top, area.bottom);\n model.controlPointNextX = capControlPoint(controlPoints.next.x, area.left, area.right);\n model.controlPointNextY = capControlPoint(controlPoints.next.y, area.top, area.bottom);\n }\n },\n setHoverStyle: function setHoverStyle(point) {\n var model = point._model;\n var options = point._options;\n var getHoverColor = helpers$1.getHoverColor;\n point.$previousStyle = {\n backgroundColor: model.backgroundColor,\n borderColor: model.borderColor,\n borderWidth: model.borderWidth,\n radius: model.radius\n };\n model.backgroundColor = valueOrDefault$7(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\n model.borderColor = valueOrDefault$7(options.hoverBorderColor, getHoverColor(options.borderColor));\n model.borderWidth = valueOrDefault$7(options.hoverBorderWidth, options.borderWidth);\n model.radius = valueOrDefault$7(options.hoverRadius, options.radius);\n }\n });\n core_defaults._set('scatter', {\n hover: {\n mode: 'single'\n },\n scales: {\n xAxes: [{\n id: 'x-axis-1',\n // need an ID so datasets can reference the scale\n type: 'linear',\n // scatter should not use a category axis\n position: 'bottom'\n }],\n yAxes: [{\n id: 'y-axis-1',\n type: 'linear',\n position: 'left'\n }]\n },\n tooltips: {\n callbacks: {\n title: function title() {\n return ''; // doesn't make sense for scatter since data are formatted as a point\n },\n label: function label(item) {\n return '(' + item.xLabel + ', ' + item.yLabel + ')';\n }\n }\n }\n });\n core_defaults._set('global', {\n datasets: {\n scatter: {\n showLine: false\n }\n }\n });\n\n // Scatter charts use line controllers\n var controller_scatter = controller_line;\n\n // NOTE export a map in which the key represents the controller type, not\n // the class, and so must be CamelCase in order to be correctly retrieved\n // by the controller in core.controller.js (`controllers[meta.type]`).\n\n var controllers = {\n bar: controller_bar,\n bubble: controller_bubble,\n doughnut: controller_doughnut,\n horizontalBar: controller_horizontalBar,\n line: controller_line,\n polarArea: controller_polarArea,\n pie: controller_pie,\n radar: controller_radar,\n scatter: controller_scatter\n };\n\n /**\r\n * Helper function to get relative position for an event\r\n * @param {Event|IEvent} event - The event to get the position for\r\n * @param {Chart} chart - The chart\r\n * @returns {object} the event position\r\n */\n function getRelativePosition(e, chart) {\n if (e[\"native\"]) {\n return {\n x: e.x,\n y: e.y\n };\n }\n return helpers$1.getRelativePosition(e, chart);\n }\n\n /**\r\n * Helper function to traverse all of the visible elements in the chart\r\n * @param {Chart} chart - the chart\r\n * @param {function} handler - the callback to execute for each visible item\r\n */\n function parseVisibleItems(chart, handler) {\n var metasets = chart._getSortedVisibleDatasetMetas();\n var metadata, i, j, ilen, jlen, element;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n metadata = metasets[i].data;\n for (j = 0, jlen = metadata.length; j < jlen; ++j) {\n element = metadata[j];\n if (!element._view.skip) {\n handler(element);\n }\n }\n }\n }\n\n /**\r\n * Helper function to get the items that intersect the event position\r\n * @param {ChartElement[]} items - elements to filter\r\n * @param {object} position - the point to be nearest to\r\n * @return {ChartElement[]} the nearest items\r\n */\n function getIntersectItems(chart, position) {\n var elements = [];\n parseVisibleItems(chart, function (element) {\n if (element.inRange(position.x, position.y)) {\n elements.push(element);\n }\n });\n return elements;\n }\n\n /**\r\n * Helper function to get the items nearest to the event position considering all visible items in teh chart\r\n * @param {Chart} chart - the chart to look at elements from\r\n * @param {object} position - the point to be nearest to\r\n * @param {boolean} intersect - if true, only consider items that intersect the position\r\n * @param {function} distanceMetric - function to provide the distance between points\r\n * @return {ChartElement[]} the nearest items\r\n */\n function getNearestItems(chart, position, intersect, distanceMetric) {\n var minDistance = Number.POSITIVE_INFINITY;\n var nearestItems = [];\n parseVisibleItems(chart, function (element) {\n if (intersect && !element.inRange(position.x, position.y)) {\n return;\n }\n var center = element.getCenterPoint();\n var distance = distanceMetric(position, center);\n if (distance < minDistance) {\n nearestItems = [element];\n minDistance = distance;\n } else if (distance === minDistance) {\n // Can have multiple items at the same distance in which case we sort by size\n nearestItems.push(element);\n }\n });\n return nearestItems;\n }\n\n /**\r\n * Get a distance metric function for two points based on the\r\n * axis mode setting\r\n * @param {string} axis - the axis mode. x|y|xy\r\n */\n function getDistanceMetricForAxis(axis) {\n var useX = axis.indexOf('x') !== -1;\n var useY = axis.indexOf('y') !== -1;\n return function (pt1, pt2) {\n var deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n var deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n }\n function indexMode(chart, e, options) {\n var position = getRelativePosition(e, chart);\n // Default axis for index mode is 'x' to match old behaviour\n options.axis = options.axis || 'x';\n var distanceMetric = getDistanceMetricForAxis(options.axis);\n var items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\n var elements = [];\n if (!items.length) {\n return [];\n }\n chart._getSortedVisibleDatasetMetas().forEach(function (meta) {\n var element = meta.data[items[0]._index];\n\n // don't count items that are skipped (null data)\n if (element && !element._view.skip) {\n elements.push(element);\n }\n });\n return elements;\n }\n\n /**\r\n * @interface IInteractionOptions\r\n */\n /**\r\n * If true, only consider items that intersect the point\r\n * @name IInterfaceOptions#boolean\r\n * @type Boolean\r\n */\n\n /**\r\n * Contains interaction related functions\r\n * @namespace Chart.Interaction\r\n */\n var core_interaction = {\n // Helper function for different modes\n modes: {\n single: function single(chart, e) {\n var position = getRelativePosition(e, chart);\n var elements = [];\n parseVisibleItems(chart, function (element) {\n if (element.inRange(position.x, position.y)) {\n elements.push(element);\n return elements;\n }\n });\n return elements.slice(0, 1);\n },\n /**\r\n * @function Chart.Interaction.modes.label\r\n * @deprecated since version 2.4.0\r\n * @todo remove at version 3\r\n * @private\r\n */\n label: indexMode,\n /**\r\n * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\r\n * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\r\n * @function Chart.Interaction.modes.index\r\n * @since v2.4.0\r\n * @param {Chart} chart - the chart we are returning items from\r\n * @param {Event} e - the event we are find things at\r\n * @param {IInteractionOptions} options - options to use during interaction\r\n * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n */\n index: indexMode,\n /**\r\n * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\r\n * If the options.intersect is false, we find the nearest item and return the items in that dataset\r\n * @function Chart.Interaction.modes.dataset\r\n * @param {Chart} chart - the chart we are returning items from\r\n * @param {Event} e - the event we are find things at\r\n * @param {IInteractionOptions} options - options to use during interaction\r\n * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n */\n dataset: function dataset(chart, e, options) {\n var position = getRelativePosition(e, chart);\n options.axis = options.axis || 'xy';\n var distanceMetric = getDistanceMetricForAxis(options.axis);\n var items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\n if (items.length > 0) {\n items = chart.getDatasetMeta(items[0]._datasetIndex).data;\n }\n return items;\n },\n /**\r\n * @function Chart.Interaction.modes.x-axis\r\n * @deprecated since version 2.4.0. Use index mode and intersect == true\r\n * @todo remove at version 3\r\n * @private\r\n */\n 'x-axis': function xAxis(chart, e) {\n return indexMode(chart, e, {\n intersect: false\n });\n },\n /**\r\n * Point mode returns all elements that hit test based on the event position\r\n * of the event\r\n * @function Chart.Interaction.modes.intersect\r\n * @param {Chart} chart - the chart we are returning items from\r\n * @param {Event} e - the event we are find things at\r\n * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n */\n point: function point(chart, e) {\n var position = getRelativePosition(e, chart);\n return getIntersectItems(chart, position);\n },\n /**\r\n * nearest mode returns the element closest to the point\r\n * @function Chart.Interaction.modes.intersect\r\n * @param {Chart} chart - the chart we are returning items from\r\n * @param {Event} e - the event we are find things at\r\n * @param {IInteractionOptions} options - options to use\r\n * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n */\n nearest: function nearest(chart, e, options) {\n var position = getRelativePosition(e, chart);\n options.axis = options.axis || 'xy';\n var distanceMetric = getDistanceMetricForAxis(options.axis);\n return getNearestItems(chart, position, options.intersect, distanceMetric);\n },\n /**\r\n * x mode returns the elements that hit-test at the current x coordinate\r\n * @function Chart.Interaction.modes.x\r\n * @param {Chart} chart - the chart we are returning items from\r\n * @param {Event} e - the event we are find things at\r\n * @param {IInteractionOptions} options - options to use\r\n * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n */\n x: function x(chart, e, options) {\n var position = getRelativePosition(e, chart);\n var items = [];\n var intersectsItem = false;\n parseVisibleItems(chart, function (element) {\n if (element.inXRange(position.x)) {\n items.push(element);\n }\n if (element.inRange(position.x, position.y)) {\n intersectsItem = true;\n }\n });\n\n // If we want to trigger on an intersect and we don't have any items\n // that intersect the position, return nothing\n if (options.intersect && !intersectsItem) {\n items = [];\n }\n return items;\n },\n /**\r\n * y mode returns the elements that hit-test at the current y coordinate\r\n * @function Chart.Interaction.modes.y\r\n * @param {Chart} chart - the chart we are returning items from\r\n * @param {Event} e - the event we are find things at\r\n * @param {IInteractionOptions} options - options to use\r\n * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n */\n y: function y(chart, e, options) {\n var position = getRelativePosition(e, chart);\n var items = [];\n var intersectsItem = false;\n parseVisibleItems(chart, function (element) {\n if (element.inYRange(position.y)) {\n items.push(element);\n }\n if (element.inRange(position.x, position.y)) {\n intersectsItem = true;\n }\n });\n\n // If we want to trigger on an intersect and we don't have any items\n // that intersect the position, return nothing\n if (options.intersect && !intersectsItem) {\n items = [];\n }\n return items;\n }\n }\n };\n var extend = helpers$1.extend;\n function filterByPosition(array, position) {\n return helpers$1.where(array, function (v) {\n return v.pos === position;\n });\n }\n function sortByWeight(array, reverse) {\n return array.sort(function (a, b) {\n var v0 = reverse ? b : a;\n var v1 = reverse ? a : b;\n return v0.weight === v1.weight ? v0.index - v1.index : v0.weight - v1.weight;\n });\n }\n function wrapBoxes(boxes) {\n var layoutBoxes = [];\n var i, ilen, box;\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n layoutBoxes.push({\n index: i,\n box: box,\n pos: box.position,\n horizontal: box.isHorizontal(),\n weight: box.weight\n });\n }\n return layoutBoxes;\n }\n function setLayoutDims(layouts, params) {\n var i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n // store width used instead of chartArea.w in fitBoxes\n layout.width = layout.horizontal ? layout.box.fullWidth && params.availableWidth : params.vBoxMaxWidth;\n // store height used instead of chartArea.h in fitBoxes\n layout.height = layout.horizontal && params.hBoxMaxHeight;\n }\n }\n function buildLayoutBoxes(boxes) {\n var layoutBoxes = wrapBoxes(boxes);\n var left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n var right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n var top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n var bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n return {\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(bottom),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right),\n horizontal: top.concat(bottom)\n };\n }\n function getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n }\n function updateDims(chartArea, params, layout) {\n var box = layout.box;\n var maxPadding = chartArea.maxPadding;\n var newWidth, newHeight;\n if (layout.size) {\n // this layout was already counted for, lets first reduce old size\n chartArea[layout.pos] -= layout.size;\n }\n layout.size = layout.horizontal ? box.height : box.width;\n chartArea[layout.pos] += layout.size;\n if (box.getPadding) {\n var boxPadding = box.getPadding();\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n }\n newWidth = params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right');\n newHeight = params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom');\n if (newWidth !== chartArea.w || newHeight !== chartArea.h) {\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n\n // return true if chart area changed in layout's direction\n var sizes = layout.horizontal ? [newWidth, chartArea.w] : [newHeight, chartArea.h];\n return sizes[0] !== sizes[1] && (!isNaN(sizes[0]) || !isNaN(sizes[1]));\n }\n }\n function handleMaxPadding(chartArea) {\n var maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n var change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n }\n function getMargins(horizontal, chartArea) {\n var maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n var margin = {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n positions.forEach(function (pos) {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal ? marginForPositions(['left', 'right']) : marginForPositions(['top', 'bottom']);\n }\n function fitBoxes(boxes, chartArea, params) {\n var refitBoxes = [];\n var i, ilen, layout, box, refit, changed;\n for (i = 0, ilen = boxes.length; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n box.update(layout.width || chartArea.w, layout.height || chartArea.h, getMargins(layout.horizontal, chartArea));\n if (updateDims(chartArea, params, layout)) {\n changed = true;\n if (refitBoxes.length) {\n // Dimensions changed and there were non full width boxes before this\n // -> we have to refit those\n refit = true;\n }\n }\n if (!box.fullWidth) {\n // fullWidth boxes don't need to be re-fitted in any case\n refitBoxes.push(layout);\n }\n }\n return refit ? fitBoxes(refitBoxes, chartArea, params) || changed : changed;\n }\n function placeBoxes(boxes, chartArea, params) {\n var userPadding = params.padding;\n var x = chartArea.x;\n var y = chartArea.y;\n var i, ilen, layout, box;\n for (i = 0, ilen = boxes.length; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n if (layout.horizontal) {\n box.left = box.fullWidth ? userPadding.left : chartArea.left;\n box.right = box.fullWidth ? params.outerWidth - userPadding.right : chartArea.left + chartArea.w;\n box.top = y;\n box.bottom = y + box.height;\n box.width = box.right - box.left;\n y = box.bottom;\n } else {\n box.left = x;\n box.right = x + box.width;\n box.top = chartArea.top;\n box.bottom = chartArea.top + chartArea.h;\n box.height = box.bottom - box.top;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n }\n core_defaults._set('global', {\n layout: {\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n }\n });\n\n /**\r\n * @interface ILayoutItem\r\n * @prop {string} position - The position of the item in the chart layout. Possible values are\r\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\r\n * @prop {number} weight - The weight used to sort the item. Higher weights are further away from the chart area\r\n * @prop {boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\r\n * @prop {function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\r\n * @prop {function} update - Takes two parameters: width and height. Returns size of item\r\n * @prop {function} getPadding - Returns an object with padding on the edges\r\n * @prop {number} width - Width of item. Must be valid after update()\r\n * @prop {number} height - Height of item. Must be valid after update()\r\n * @prop {number} left - Left edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} top - Top edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} right - Right edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\r\n */\n\n // The layout service is very self explanatory. It's responsible for the layout within a chart.\n // Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\n // It is this service's responsibility of carrying out that layout.\n var core_layouts = {\n defaults: {},\n /**\r\n * Register a box to a chart.\r\n * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\r\n * @param {Chart} chart - the chart to use\r\n * @param {ILayoutItem} item - the item to add to be layed out\r\n */\n addBox: function addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n\n // initialize item with default values\n item.fullWidth = item.fullWidth || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function () {\n return [{\n z: 0,\n draw: function draw() {\n item.draw.apply(item, arguments);\n }\n }];\n };\n chart.boxes.push(item);\n },\n /**\r\n * Remove a layoutItem from a chart\r\n * @param {Chart} chart - the chart to remove the box from\r\n * @param {ILayoutItem} layoutItem - the item to remove from the layout\r\n */\n removeBox: function removeBox(chart, layoutItem) {\n var index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n /**\r\n * Sets (or updates) options on the given `item`.\r\n * @param {Chart} chart - the chart in which the item lives (or will be added to)\r\n * @param {ILayoutItem} item - the item to configure with the given options\r\n * @param {object} options - the new item options.\r\n */\n configure: function configure(chart, item, options) {\n var props = ['fullWidth', 'position', 'weight'];\n var ilen = props.length;\n var i = 0;\n var prop;\n for (; i < ilen; ++i) {\n prop = props[i];\n if (options.hasOwnProperty(prop)) {\n item[prop] = options[prop];\n }\n }\n },\n /**\r\n * Fits boxes of the given chart into the given size by having each box measure itself\r\n * then running a fitting algorithm\r\n * @param {Chart} chart - the chart\r\n * @param {number} width - the width to fit into\r\n * @param {number} height - the height to fit into\r\n */\n update: function update(chart, width, height) {\n if (!chart) {\n return;\n }\n var layoutOptions = chart.options.layout || {};\n var padding = helpers$1.options.toPadding(layoutOptions.padding);\n var availableWidth = width - padding.width;\n var availableHeight = height - padding.height;\n var boxes = buildLayoutBoxes(chart.boxes);\n var verticalBoxes = boxes.vertical;\n var horizontalBoxes = boxes.horizontal;\n\n // Essentially we now have any number of boxes on each of the 4 sides.\n // Our canvas looks like the following.\n // The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\n // B1 is the bottom axis\n // There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\n // These locations are single-box locations only, when trying to register a chartArea location that is already taken,\n // an error will be thrown.\n //\n // |----------------------------------------------------|\n // | T1 (Full Width) |\n // |----------------------------------------------------|\n // | | | T2 | |\n // | |----|-------------------------------------|----|\n // | | | C1 | | C2 | |\n // | | |----| |----| |\n // | | | | |\n // | L1 | L2 | ChartArea (C0) | R1 |\n // | | | | |\n // | | |----| |----| |\n // | | | C3 | | C4 | |\n // | |----|-------------------------------------|----|\n // | | | B1 | |\n // |----------------------------------------------------|\n // | B2 (Full Width) |\n // |----------------------------------------------------|\n //\n\n var params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding: padding,\n availableWidth: availableWidth,\n vBoxMaxWidth: availableWidth / 2 / verticalBoxes.length,\n hBoxMaxHeight: availableHeight / 2\n });\n var chartArea = extend({\n maxPadding: extend({}, padding),\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n\n // First fit vertical boxes\n fitBoxes(verticalBoxes, chartArea, params);\n\n // Then fit horizontal boxes\n if (fitBoxes(horizontalBoxes, chartArea, params)) {\n // if the area changed, re-fit vertical boxes\n fitBoxes(verticalBoxes, chartArea, params);\n }\n handleMaxPadding(chartArea);\n\n // Finally place the boxes to correct coordinates\n placeBoxes(boxes.leftAndTop, chartArea, params);\n\n // Move to opposite side of chart\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h\n };\n\n // Finally update boxes in chartArea (radial scale for example)\n helpers$1.each(boxes.chartArea, function (layout) {\n var box = layout.box;\n extend(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h);\n });\n }\n };\n\n /**\r\n * Platform fallback implementation (minimal).\r\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\r\n */\n\n var platform_basic = {\n acquireContext: function acquireContext(item) {\n if (item && item.canvas) {\n // Support for any object associated to a canvas (including a context2d)\n item = item.canvas;\n }\n return item && item.getContext('2d') || null;\n }\n };\n var platform_dom = \"/*\\r\\n * DOM element rendering detection\\r\\n * https://davidwalsh.name/detect-node-insertion\\r\\n */\\r\\n@keyframes chartjs-render-animation {\\r\\n\\tfrom { opacity: 0.99; }\\r\\n\\tto { opacity: 1; }\\r\\n}\\r\\n\\r\\n.chartjs-render-monitor {\\r\\n\\tanimation: chartjs-render-animation 0.001s;\\r\\n}\\r\\n\\r\\n/*\\r\\n * DOM element resizing detection\\r\\n * https://github.com/marcj/css-element-queries\\r\\n */\\r\\n.chartjs-size-monitor,\\r\\n.chartjs-size-monitor-expand,\\r\\n.chartjs-size-monitor-shrink {\\r\\n\\tposition: absolute;\\r\\n\\tdirection: ltr;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n\\tright: 0;\\r\\n\\tbottom: 0;\\r\\n\\toverflow: hidden;\\r\\n\\tpointer-events: none;\\r\\n\\tvisibility: hidden;\\r\\n\\tz-index: -1;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-expand > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 1000000px;\\r\\n\\theight: 1000000px;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-shrink > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 200%;\\r\\n\\theight: 200%;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\";\n var platform_dom$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n 'default': platform_dom\n });\n var stylesheet = getCjsExportFromNamespace(platform_dom$1);\n var EXPANDO_KEY = '$chartjs';\n var CSS_PREFIX = 'chartjs-';\n var CSS_SIZE_MONITOR = CSS_PREFIX + 'size-monitor';\n var CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor';\n var CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation';\n var ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart'];\n\n /**\r\n * DOM event types -> Chart.js event types.\r\n * Note: only events with different types are mapped.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\r\n */\n var EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n };\n\n /**\r\n * The \"used\" size is the final value of a dimension property after all calculations have\r\n * been performed. This method uses the computed style of `element` but returns undefined\r\n * if the computed style is not expressed in pixels. That can happen in some cases where\r\n * `element` has a size relative to its parent and this last one is not yet displayed,\r\n * for example because of `display: none` on a parent node.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\r\n * @returns {number} Size in pixels or undefined if unknown.\r\n */\n function readUsedSize(element, property) {\n var value = helpers$1.getStyle(element, property);\n var matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? Number(matches[1]) : undefined;\n }\n\n /**\r\n * Initializes the canvas style and render size without modifying the canvas display size,\r\n * since responsiveness is handled by the controller.resize() method. The config is used\r\n * to determine the aspect ratio to apply in case no explicit height has been specified.\r\n */\n function initCanvas(canvas, config) {\n var style = canvas.style;\n\n // NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\n // returns null or '' if no explicit value has been set to the canvas attribute.\n var renderHeight = canvas.getAttribute('height');\n var renderWidth = canvas.getAttribute('width');\n\n // Chart.js modifies some canvas values that we want to restore on destroy\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n\n // Force canvas to display as block to avoid extra space caused by inline\n // elements, which would interfere with the responsive resize process.\n // https://github.com/chartjs/Chart.js/issues/2538\n style.display = style.display || 'block';\n if (renderWidth === null || renderWidth === '') {\n var displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (renderHeight === null || renderHeight === '') {\n if (canvas.style.height === '') {\n // If no explicit render height and style height, let's apply the aspect ratio,\n // which one can be specified by the user but also by charts as default option\n // (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\n canvas.height = canvas.width / (config.options.aspectRatio || 2);\n } else {\n var displayHeight = readUsedSize(canvas, 'height');\n if (displayWidth !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n }\n\n /**\r\n * Detects support for options object argument in addEventListener.\r\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\r\n * @private\r\n */\n var supportsEventListenerOptions = function () {\n var supports = false;\n try {\n var options = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line getter-return\n get: function get() {\n supports = true;\n }\n });\n window.addEventListener('e', null, options);\n } catch (e) {\n // continue regardless of error\n }\n return supports;\n }();\n\n // Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\n // https://github.com/chartjs/Chart.js/issues/4287\n var eventListenerOptions = supportsEventListenerOptions ? {\n passive: true\n } : false;\n function addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n }\n function removeListener(node, type, listener) {\n node.removeEventListener(type, listener, eventListenerOptions);\n }\n function createEvent(type, chart, x, y, nativeEvent) {\n return {\n type: type,\n chart: chart,\n \"native\": nativeEvent || null,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null\n };\n }\n function fromNativeEvent(event, chart) {\n var type = EVENT_TYPES[event.type] || event.type;\n var pos = helpers$1.getRelativePosition(event, chart);\n return createEvent(type, chart, pos.x, pos.y, event);\n }\n function throttled(fn, thisArg) {\n var ticking = false;\n var args = [];\n return function () {\n args = Array.prototype.slice.call(arguments);\n thisArg = thisArg || this;\n if (!ticking) {\n ticking = true;\n helpers$1.requestAnimFrame.call(window, function () {\n ticking = false;\n fn.apply(thisArg, args);\n });\n }\n };\n }\n function createDiv(cls) {\n var el = document.createElement('div');\n el.className = cls || '';\n return el;\n }\n\n // Implementation based on https://github.com/marcj/css-element-queries\n function createResizer(handler) {\n var maxSize = 1000000;\n\n // NOTE(SB) Don't use innerHTML because it could be considered unsafe.\n // https://github.com/chartjs/Chart.js/issues/5902\n var resizer = createDiv(CSS_SIZE_MONITOR);\n var expand = createDiv(CSS_SIZE_MONITOR + '-expand');\n var shrink = createDiv(CSS_SIZE_MONITOR + '-shrink');\n expand.appendChild(createDiv());\n shrink.appendChild(createDiv());\n resizer.appendChild(expand);\n resizer.appendChild(shrink);\n resizer._reset = function () {\n expand.scrollLeft = maxSize;\n expand.scrollTop = maxSize;\n shrink.scrollLeft = maxSize;\n shrink.scrollTop = maxSize;\n };\n var onScroll = function onScroll() {\n resizer._reset();\n handler();\n };\n addListener(expand, 'scroll', onScroll.bind(expand, 'expand'));\n addListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink'));\n return resizer;\n }\n\n // https://davidwalsh.name/detect-node-insertion\n function watchForRender(node, handler) {\n var expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\n var proxy = expando.renderProxy = function (e) {\n if (e.animationName === CSS_RENDER_ANIMATION) {\n handler();\n }\n };\n helpers$1.each(ANIMATION_START_EVENTS, function (type) {\n addListener(node, type, proxy);\n });\n\n // #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class\n // is removed then added back immediately (same animation frame?). Accessing the\n // `offsetParent` property will force a reflow and re-evaluate the CSS animation.\n // https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics\n // https://github.com/chartjs/Chart.js/issues/4737\n expando.reflow = !!node.offsetParent;\n node.classList.add(CSS_RENDER_MONITOR);\n }\n function unwatchForRender(node) {\n var expando = node[EXPANDO_KEY] || {};\n var proxy = expando.renderProxy;\n if (proxy) {\n helpers$1.each(ANIMATION_START_EVENTS, function (type) {\n removeListener(node, type, proxy);\n });\n delete expando.renderProxy;\n }\n node.classList.remove(CSS_RENDER_MONITOR);\n }\n function addResizeListener(node, listener, chart) {\n var expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\n\n // Let's keep track of this added resizer and thus avoid DOM query when removing it.\n var resizer = expando.resizer = createResizer(throttled(function () {\n if (expando.resizer) {\n var container = chart.options.maintainAspectRatio && node.parentNode;\n var w = container ? container.clientWidth : 0;\n listener(createEvent('resize', chart));\n if (container && container.clientWidth < w && chart.canvas) {\n // If the container size shrank during chart resize, let's assume\n // scrollbar appeared. So we resize again with the scrollbar visible -\n // effectively making chart smaller and the scrollbar hidden again.\n // Because we are inside `throttled`, and currently `ticking`, scroll\n // events are ignored during this whole 2 resize process.\n // If we assumed wrong and something else happened, we are resizing\n // twice in a frame (potential performance issue)\n listener(createEvent('resize', chart));\n }\n }\n }));\n\n // The resizer needs to be attached to the node parent, so we first need to be\n // sure that `node` is attached to the DOM before injecting the resizer element.\n watchForRender(node, function () {\n if (expando.resizer) {\n var container = node.parentNode;\n if (container && container !== resizer.parentNode) {\n container.insertBefore(resizer, container.firstChild);\n }\n\n // The container size might have changed, let's reset the resizer state.\n resizer._reset();\n }\n });\n }\n function removeResizeListener(node) {\n var expando = node[EXPANDO_KEY] || {};\n var resizer = expando.resizer;\n delete expando.resizer;\n unwatchForRender(node);\n if (resizer && resizer.parentNode) {\n resizer.parentNode.removeChild(resizer);\n }\n }\n\n /**\r\n * Injects CSS styles inline if the styles are not already present.\r\n * @param {HTMLDocument|ShadowRoot} rootNode - the node to contain the \").appendTo(body);}// We need to make sure to grab the zIndex before setting the\n// opacity, because setting the opacity to anything lower than 1\n// causes the zIndex to change from \"auto\" to 0.\nif(o.zIndex){// zIndex option\nif(this.helper.css(\"zIndex\")){this._storedZIndex=this.helper.css(\"zIndex\");}this.helper.css(\"zIndex\",o.zIndex);}if(o.opacity){// opacity option\nif(this.helper.css(\"opacity\")){this._storedOpacity=this.helper.css(\"opacity\");}this.helper.css(\"opacity\",o.opacity);}//Prepare scrolling\nif(this.scrollParent[0]!==this.document[0]&&this.scrollParent[0].tagName!==\"HTML\"){this.overflowOffset=this.scrollParent.offset();}//Call callbacks\nthis._trigger(\"start\",event,this._uiHash());//Recache the helper size\nif(!this._preserveHelperProportions){this._cacheHelperProportions();}//Post \"activate\" events to possible containers\nif(!noActivation){for(i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger(\"activate\",event,this._uiHash(this));}}//Prepare possible droppables\nif($.ui.ddmanager){$.ui.ddmanager.current=this;}if($.ui.ddmanager&&!o.dropBehaviour){$.ui.ddmanager.prepareOffsets(this,event);}this.dragging=true;this._addClass(this.helper,\"ui-sortable-helper\");//Move the helper, if needed\nif(!this.helper.parent().is(this.appendTo)){this.helper.detach().appendTo(this.appendTo);//Update position\nthis.offset.parent=this._getParentOffset();}//Generate the original position\nthis.position=this.originalPosition=this._generatePosition(event);this.originalPageX=event.pageX;this.originalPageY=event.pageY;this.lastPositionAbs=this.positionAbs=this._convertPositionTo(\"absolute\");this._mouseDrag(event);return true;},_scroll:function _scroll(event){var o=this.options,scrolled=false;if(this.scrollParent[0]!==this.document[0]&&this.scrollParent[0].tagName!==\"HTML\"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-event.pageY=0;i--){//Cache variables and intersection, continue if no intersection\nitem=this.items[i];itemElement=item.item[0];intersection=this._intersectsWithPointer(item);if(!intersection){continue;}// Only put the placeholder inside the current Container, skip all\n// items from other containers. This works because when moving\n// an item from one container to another the\n// currentContainer is switched before the placeholder is moved.\n//\n// Without this, moving items in \"sub-sortables\" can cause\n// the placeholder to jitter between the outer and inner container.\nif(item.instance!==this.currentContainer){continue;}// Cannot intersect with itself\n// no useless actions that have been done before\n// no action if the item moved is the parent of the item checked\nif(itemElement!==this.currentItem[0]&&this.placeholder[intersection===1?\"next\":\"prev\"]()[0]!==itemElement&&!$.contains(this.placeholder[0],itemElement)&&(this.options.type===\"semi-dynamic\"?!$.contains(this.element[0],itemElement):true)){this.direction=intersection===1?\"down\":\"up\";if(this.options.tolerance===\"pointer\"||this._intersectsWithSides(item)){this._rearrange(event,item);}else{break;}this._trigger(\"change\",event,this._uiHash());break;}}//Post events to containers\nthis._contactContainers(event);//Interconnect with droppables\nif($.ui.ddmanager){$.ui.ddmanager.drag(this,event);}//Call callbacks\nthis._trigger(\"sort\",event,this._uiHash());this.lastPositionAbs=this.positionAbs;return false;},_mouseStop:function _mouseStop(event,noPropagation){if(!event){return;}//If we are using droppables, inform the manager about the drop\nif($.ui.ddmanager&&!this.options.dropBehaviour){$.ui.ddmanager.drop(this,event);}if(this.options.revert){var that=this,cur=this.placeholder.offset(),axis=this.options.axis,animation={};if(!axis||axis===\"x\"){animation.left=cur.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft);}if(!axis||axis===\"y\"){animation.top=cur.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop);}this.reverting=true;$(this.helper).animate(animation,parseInt(this.options.revert,10)||500,function(){that._clear(event);});}else{this._clear(event,noPropagation);}return false;},cancel:function cancel(){if(this.dragging){this._mouseUp(new $.Event(\"mouseup\",{target:null}));if(this.options.helper===\"original\"){this.currentItem.css(this._storedCSS);this._removeClass(this.currentItem,\"ui-sortable-helper\");}else{this.currentItem.show();}//Post deactivating events to containers\nfor(var i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger(\"deactivate\",null,this._uiHash(this));if(this.containers[i].containerCache.over){this.containers[i]._trigger(\"out\",null,this._uiHash(this));this.containers[i].containerCache.over=0;}}}if(this.placeholder){//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately,\n// it unbinds ALL events from the original node!\nif(this.placeholder[0].parentNode){this.placeholder[0].parentNode.removeChild(this.placeholder[0]);}if(this.options.helper!==\"original\"&&this.helper&&this.helper[0].parentNode){this.helper.remove();}$.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){$(this.domPosition.prev).after(this.currentItem);}else{$(this.domPosition.parent).prepend(this.currentItem);}}return this;},serialize:function serialize(o){var items=this._getItemsAsjQuery(o&&o.connected),str=[];o=o||{};$(items).each(function(){var res=($(o.item||this).attr(o.attribute||\"id\")||\"\").match(o.expression||/(.+)[\\-=_](.+)/);if(res){str.push((o.key||res[1]+\"[]\")+\"=\"+(o.key&&o.expression?res[1]:res[2]));}});if(!str.length&&o.key){str.push(o.key+\"=\");}return str.join(\"&\");},toArray:function toArray(o){var items=this._getItemsAsjQuery(o&&o.connected),ret=[];o=o||{};items.each(function(){ret.push($(o.item||this).attr(o.attribute||\"id\")||\"\");});return ret;},/* Be careful with the following core functions */_intersectsWith:function _intersectsWith(item){var x1=this.positionAbs.left,x2=x1+this.helperProportions.width,y1=this.positionAbs.top,y2=y1+this.helperProportions.height,l=item.left,r=l+item.width,t=item.top,b=t+item.height,dyClick=this.offset.click.top,dxClick=this.offset.click.left,isOverElementHeight=this.options.axis===\"x\"||y1+dyClick>t&&y1+dyClickl&&x1+dxClickitem[this.floating?\"width\":\"height\"]){return isOverElement;}else{return l0?\"down\":\"up\");},_getDragHorizontalDirection:function _getDragHorizontalDirection(){var delta=this.positionAbs.left-this.lastPositionAbs.left;return delta!==0&&(delta>0?\"right\":\"left\");},refresh:function refresh(event){this._refreshItems(event);this._setHandleClassName();this.refreshPositions();return this;},_connectWith:function _connectWith(){var options=this.options;return options.connectWith.constructor===String?[options.connectWith]:options.connectWith;},_getItemsAsjQuery:function _getItemsAsjQuery(connected){var i,j,cur,inst,items=[],queries=[],connectWith=this._connectWith();if(connectWith&&connected){for(i=connectWith.length-1;i>=0;i--){cur=$(connectWith[i],this.document[0]);for(j=cur.length-1;j>=0;j--){inst=$.data(cur[j],this.widgetFullName);if(inst&&inst!==this&&!inst.options.disabled){queries.push([typeof inst.options.items===\"function\"?inst.options.items.call(inst.element):$(inst.options.items,inst.element).not(\".ui-sortable-helper\").not(\".ui-sortable-placeholder\"),inst]);}}}}queries.push([typeof this.options.items===\"function\"?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):$(this.options.items,this.element).not(\".ui-sortable-helper\").not(\".ui-sortable-placeholder\"),this]);function addItems(){items.push(this);}for(i=queries.length-1;i>=0;i--){queries[i][0].each(addItems);}return $(items);},_removeCurrentsFromItems:function _removeCurrentsFromItems(){var list=this.currentItem.find(\":data(\"+this.widgetName+\"-item)\");this.items=$.grep(this.items,function(item){for(var j=0;j=0;i--){cur=$(connectWith[i],this.document[0]);for(j=cur.length-1;j>=0;j--){inst=$.data(cur[j],this.widgetFullName);if(inst&&inst!==this&&!inst.options.disabled){queries.push([typeof inst.options.items===\"function\"?inst.options.items.call(inst.element[0],event,{item:this.currentItem}):$(inst.options.items,inst.element),inst]);this.containers.push(inst);}}}}for(i=queries.length-1;i>=0;i--){targetData=queries[i][1];_queries=queries[i][0];for(j=0,queriesLength=_queries.length;j=0;i--){item=this.items[i];//We ignore calculating positions of all connected containers when we're not over them\nif(this.currentContainer&&item.instance!==this.currentContainer&&item.item[0]!==this.currentItem[0]){continue;}t=this.options.toleranceElement?$(this.options.toleranceElement,item.item):item.item;if(!fast){item.width=t.outerWidth();item.height=t.outerHeight();}p=t.offset();item.left=p.left;item.top=p.top;}},refreshPositions:function refreshPositions(fast){// Determine whether items are being displayed horizontally\nthis.floating=this.items.length?this.options.axis===\"x\"||this._isFloating(this.items[0].item):false;// This has to be redone because due to the item being moved out/into the offsetParent,\n// the offsetParent's position will change\nif(this.offsetParent&&this.helper){this.offset.parent=this._getParentOffset();}this._refreshItemPositions(fast);var i,p;if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this);}else{for(i=this.containers.length-1;i>=0;i--){p=this.containers[i].element.offset();this.containers[i].containerCache.left=p.left;this.containers[i].containerCache.top=p.top;this.containers[i].containerCache.width=this.containers[i].element.outerWidth();this.containers[i].containerCache.height=this.containers[i].element.outerHeight();}}return this;},_createPlaceholder:function _createPlaceholder(that){that=that||this;var className,nodeName,o=that.options;if(!o.placeholder||o.placeholder.constructor===String){className=o.placeholder;nodeName=that.currentItem[0].nodeName.toLowerCase();o.placeholder={element:function element(){var element=$(\"<\"+nodeName+\">\",that.document[0]);that._addClass(element,\"ui-sortable-placeholder\",className||that.currentItem[0].className)._removeClass(element,\"ui-sortable-helper\");if(nodeName===\"tbody\"){that._createTrPlaceholder(that.currentItem.find(\"tr\").eq(0),$(\"\",that.document[0]).appendTo(element));}else if(nodeName===\"tr\"){that._createTrPlaceholder(that.currentItem,element);}else if(nodeName===\"img\"){element.attr(\"src\",that.currentItem.attr(\"src\"));}if(!className){element.css(\"visibility\",\"hidden\");}return element;},update:function update(container,p){// 1. If a className is set as 'placeholder option, we don't force sizes -\n// the class is responsible for that\n// 2. The option 'forcePlaceholderSize can be enabled to force it even if a\n// class name is specified\nif(className&&!o.forcePlaceholderSize){return;}// If the element doesn't have a actual height or width by itself (without\n// styles coming from a stylesheet), it receives the inline height and width\n// from the dragged item. Or, if it's a tbody or tr, it's going to have a height\n// anyway since we're populating them with s above, but they're unlikely to\n// be the correct height on their own if the row heights are dynamic, so we'll\n// always assign the height of the dragged item given forcePlaceholderSize\n// is true.\nif(!p.height()||o.forcePlaceholderSize&&(nodeName===\"tbody\"||nodeName===\"tr\")){p.height(that.currentItem.innerHeight()-parseInt(that.currentItem.css(\"paddingTop\")||0,10)-parseInt(that.currentItem.css(\"paddingBottom\")||0,10));}if(!p.width()){p.width(that.currentItem.innerWidth()-parseInt(that.currentItem.css(\"paddingLeft\")||0,10)-parseInt(that.currentItem.css(\"paddingRight\")||0,10));}}};}//Create the placeholder\nthat.placeholder=$(o.placeholder.element.call(that.element,that.currentItem));//Append it after the actual current item\nthat.currentItem.after(that.placeholder);//Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317)\no.placeholder.update(that,that.placeholder);},_createTrPlaceholder:function _createTrPlaceholder(sourceTr,targetTr){var that=this;sourceTr.children().each(function(){$(\" \",that.document[0]).attr(\"colspan\",$(this).attr(\"colspan\")||1).appendTo(targetTr);});},_contactContainers:function _contactContainers(event){var i,j,dist,itemWithLeastDistance,posProperty,sizeProperty,cur,nearBottom,floating,axis,innermostContainer=null,innermostIndex=null;// Get innermost container that intersects with item\nfor(i=this.containers.length-1;i>=0;i--){// Never consider a container that's located within the item itself\nif($.contains(this.currentItem[0],this.containers[i].element[0])){continue;}if(this._intersectsWith(this.containers[i].containerCache)){// If we've already found a container and it's more \"inner\" than this, then continue\nif(innermostContainer&&$.contains(this.containers[i].element[0],innermostContainer.element[0])){continue;}innermostContainer=this.containers[i];innermostIndex=i;}else{// container doesn't intersect. trigger \"out\" event if necessary\nif(this.containers[i].containerCache.over){this.containers[i]._trigger(\"out\",event,this._uiHash(this));this.containers[i].containerCache.over=0;}}}// If no intersecting containers found, return\nif(!innermostContainer){return;}// Move the item into the container if it's not there already\nif(this.containers.length===1){if(!this.containers[innermostIndex].containerCache.over){this.containers[innermostIndex]._trigger(\"over\",event,this._uiHash(this));this.containers[innermostIndex].containerCache.over=1;}}else{// When entering a new container, we will find the item with the least distance and\n// append our item near it\ndist=10000;itemWithLeastDistance=null;floating=innermostContainer.floating||this._isFloating(this.currentItem);posProperty=floating?\"left\":\"top\";sizeProperty=floating?\"width\":\"height\";axis=floating?\"pageX\":\"pageY\";for(j=this.items.length-1;j>=0;j--){if(!$.contains(this.containers[innermostIndex].element[0],this.items[j].item[0])){continue;}if(this.items[j].item[0]===this.currentItem[0]){continue;}cur=this.items[j].item.offset()[posProperty];nearBottom=false;if(event[axis]-cur>this.items[j][sizeProperty]/2){nearBottom=true;}if(Math.abs(event[axis]-cur)this.containment[2]){pageX=this.containment[2]+this.offset.click.left;}if(event.pageY-this.offset.click.top>this.containment[3]){pageY=this.containment[3]+this.offset.click.top;}}if(o.grid){top=this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1];pageY=this.containment?top-this.offset.click.top>=this.containment[1]&&top-this.offset.click.top<=this.containment[3]?top:top-this.offset.click.top>=this.containment[1]?top-o.grid[1]:top+o.grid[1]:top;left=this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0];pageX=this.containment?left-this.offset.click.left>=this.containment[0]&&left-this.offset.click.left<=this.containment[2]?left:left-this.offset.click.left>=this.containment[0]?left-o.grid[0]:left+o.grid[0]:left;}}return{top:// The absolute mouse position\npageY-// Click offset (relative to the element)\nthis.offset.click.top-// Only for relative positioned nodes: Relative offset from element to offset parent\nthis.offset.relative.top-// The offsetParent's offset without borders (offset + border)\nthis.offset.parent.top+(this.cssPosition===\"fixed\"?-this.scrollParent.scrollTop():scrollIsRootNode?0:scroll.scrollTop()),left:// The absolute mouse position\npageX-// Click offset (relative to the element)\nthis.offset.click.left-// Only for relative positioned nodes: Relative offset from element to offset parent\nthis.offset.relative.left-// The offsetParent's offset without borders (offset + border)\nthis.offset.parent.left+(this.cssPosition===\"fixed\"?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())};},_rearrange:function _rearrange(event,i,a,hardRefresh){if(a){a[0].appendChild(this.placeholder[0]);}else{i.item[0].parentNode.insertBefore(this.placeholder[0],this.direction===\"down\"?i.item[0]:i.item[0].nextSibling);}//Various things done here to improve the performance:\n// 1. we create a setTimeout, that calls refreshPositions\n// 2. on the instance, we have a counter variable, that get's higher after every append\n// 3. on the local scope, we copy the counter variable, and check in the timeout,\n// if it's still the same\n// 4. this lets only the last addition to the timeout stack through\nthis.counter=this.counter?++this.counter:1;var counter=this.counter;this._delay(function(){if(counter===this.counter){//Precompute after each DOM insertion, NOT on mousemove\nthis.refreshPositions(!hardRefresh);}});},_clear:function _clear(event,noPropagation){this.reverting=false;// We delay all events that have to be triggered to after the point where the placeholder\n// has been removed and everything else normalized again\nvar i,delayedTriggers=[];// We first have to update the dom position of the actual currentItem\n// Note: don't do it if the current item is already removed (by a user), or it gets\n// reappended (see #4088)\nif(!this._noFinalSort&&this.currentItem.parent().length){this.placeholder.before(this.currentItem);}this._noFinalSort=null;if(this.helper[0]===this.currentItem[0]){for(i in this._storedCSS){if(this._storedCSS[i]===\"auto\"||this._storedCSS[i]===\"static\"){this._storedCSS[i]=\"\";}}this.currentItem.css(this._storedCSS);this._removeClass(this.currentItem,\"ui-sortable-helper\");}else{this.currentItem.show();}if(this.fromOutside&&!noPropagation){delayedTriggers.push(function(event){this._trigger(\"receive\",event,this._uiHash(this.fromOutside));});}if((this.fromOutside||this.domPosition.prev!==this.currentItem.prev().not(\".ui-sortable-helper\")[0]||this.domPosition.parent!==this.currentItem.parent()[0])&&!noPropagation){// Trigger update callback if the DOM position has changed\ndelayedTriggers.push(function(event){this._trigger(\"update\",event,this._uiHash());});}// Check if the items Container has Changed and trigger appropriate\n// events.\nif(this!==this.currentContainer){if(!noPropagation){delayedTriggers.push(function(event){this._trigger(\"remove\",event,this._uiHash());});delayedTriggers.push(function(c){return function(event){c._trigger(\"receive\",event,this._uiHash(this));};}.call(this,this.currentContainer));delayedTriggers.push(function(c){return function(event){c._trigger(\"update\",event,this._uiHash(this));};}.call(this,this.currentContainer));}}//Post events to containers\nfunction delayEvent(type,instance,container){return function(event){container._trigger(type,event,instance._uiHash(instance));};}for(i=this.containers.length-1;i>=0;i--){if(!noPropagation){delayedTriggers.push(delayEvent(\"deactivate\",this,this.containers[i]));}if(this.containers[i].containerCache.over){delayedTriggers.push(delayEvent(\"out\",this,this.containers[i]));this.containers[i].containerCache.over=0;}}//Do what was originally in plugins\nif(this.storedCursor){this.document.find(\"body\").css(\"cursor\",this.storedCursor);this.storedStylesheet.remove();}if(this._storedOpacity){this.helper.css(\"opacity\",this._storedOpacity);}if(this._storedZIndex){this.helper.css(\"zIndex\",this._storedZIndex===\"auto\"?\"\":this._storedZIndex);}this.dragging=false;if(!noPropagation){this._trigger(\"beforeStop\",event,this._uiHash());}//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately,\n// it unbinds ALL events from the original node!\nthis.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(!this.cancelHelperRemoval){if(this.helper[0]!==this.currentItem[0]){this.helper.remove();}this.helper=null;}if(!noPropagation){for(i=0;i>label: Spinner\n//>>group: Widgets\n//>>description: Displays buttons to easily input numbers via the keyboard or mouse.\n//>>docs: https://api.jqueryui.com/spinner/\n//>>demos: https://jqueryui.com/spinner/\n//>>css.structure: ../../themes/base/core.css\n//>>css.structure: ../../themes/base/spinner.css\n//>>css.theme: ../../themes/base/theme.css\nfunction spinnerModifier(fn){return function(){var previous=this.element.val();fn.apply(this,arguments);this._refresh();if(previous!==this.element.val()){this._trigger(\"change\");}};}$.widget(\"ui.spinner\",{version:\"1.13.3\",defaultElement:\"\",widgetEventPrefix:\"spin\",options:{classes:{\"ui-spinner\":\"ui-corner-all\",\"ui-spinner-down\":\"ui-corner-br\",\"ui-spinner-up\":\"ui-corner-tr\"},culture:null,icons:{down:\"ui-icon-triangle-1-s\",up:\"ui-icon-triangle-1-n\"},incremental:true,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function _create(){// handle string values that need to be parsed\nthis._setOption(\"max\",this.options.max);this._setOption(\"min\",this.options.min);this._setOption(\"step\",this.options.step);// Only format if there is a value, prevents the field from being marked\n// as invalid in Firefox, see #9573.\nif(this.value()!==\"\"){// Format the value, but don't constrain.\nthis._value(this.element.val(),true);}this._draw();this._on(this._events);this._refresh();// Turning off autocomplete prevents the browser from remembering the\n// value when navigating through history, so we re-enable autocomplete\n// if the page is unloaded before the widget is destroyed. #7790\nthis._on(this.window,{beforeunload:function beforeunload(){this.element.removeAttr(\"autocomplete\");}});},_getCreateOptions:function _getCreateOptions(){var options=this._super();var element=this.element;$.each([\"min\",\"max\",\"step\"],function(i,option){var value=element.attr(option);if(value!=null&&value.length){options[option]=value;}});return options;},_events:{keydown:function keydown(event){if(this._start(event)&&this._keydown(event)){event.preventDefault();}},keyup:\"_stop\",focus:function focus(){this.previous=this.element.val();},blur:function blur(event){if(this.cancelBlur){delete this.cancelBlur;return;}this._stop();this._refresh();if(this.previous!==this.element.val()){this._trigger(\"change\",event);}},mousewheel:function mousewheel(event,delta){var activeElement=$.ui.safeActiveElement(this.document[0]);var isActive=this.element[0]===activeElement;if(!isActive||!delta){return;}if(!this.spinning&&!this._start(event)){return false;}this._spin((delta>0?1:-1)*this.options.step,event);clearTimeout(this.mousewheelTimer);this.mousewheelTimer=this._delay(function(){if(this.spinning){this._stop(event);}},100);event.preventDefault();},\"mousedown .ui-spinner-button\":function mousedownUiSpinnerButton(event){var previous;// We never want the buttons to have focus; whenever the user is\n// interacting with the spinner, the focus should be on the input.\n// If the input is focused then this.previous is properly set from\n// when the input first received focus. If the input is not focused\n// then we need to set this.previous based on the value before spinning.\nprevious=this.element[0]===$.ui.safeActiveElement(this.document[0])?this.previous:this.element.val();function checkFocus(){var isActive=this.element[0]===$.ui.safeActiveElement(this.document[0]);if(!isActive){this.element.trigger(\"focus\");this.previous=previous;// support: IE\n// IE sets focus asynchronously, so we need to check if focus\n// moved off of the input because the user clicked on the button.\nthis._delay(function(){this.previous=previous;});}}// Ensure focus is on (or stays on) the text field\nevent.preventDefault();checkFocus.call(this);// Support: IE\n// IE doesn't prevent moving focus even with event.preventDefault()\n// so we set a flag to know when we should ignore the blur event\n// and check (again) if focus moved off of the input.\nthis.cancelBlur=true;this._delay(function(){delete this.cancelBlur;checkFocus.call(this);});if(this._start(event)===false){return;}this._repeat(null,$(event.currentTarget).hasClass(\"ui-spinner-up\")?1:-1,event);},\"mouseup .ui-spinner-button\":\"_stop\",\"mouseenter .ui-spinner-button\":function mouseenterUiSpinnerButton(event){// button will add ui-state-active if mouse was down while mouseleave and kept down\nif(!$(event.currentTarget).hasClass(\"ui-state-active\")){return;}if(this._start(event)===false){return false;}this._repeat(null,$(event.currentTarget).hasClass(\"ui-spinner-up\")?1:-1,event);},// TODO: do we really want to consider this a stop?\n// shouldn't we just stop the repeater and wait until mouseup before\n// we trigger the stop event?\n\"mouseleave .ui-spinner-button\":\"_stop\"},// Support mobile enhanced option and make backcompat more sane\n_enhance:function _enhance(){this.uiSpinner=this.element.attr(\"autocomplete\",\"off\").wrap(\"\").parent()// Add buttons\n.append(\"\");},_draw:function _draw(){this._enhance();this._addClass(this.uiSpinner,\"ui-spinner\",\"ui-widget ui-widget-content\");this._addClass(\"ui-spinner-input\");this.element.attr(\"role\",\"spinbutton\");// Button bindings\nthis.buttons=this.uiSpinner.children(\"a\").attr(\"tabIndex\",-1).attr(\"aria-hidden\",true).button({classes:{\"ui-button\":\"\"}});// TODO: Right now button does not support classes this is already updated in button PR\nthis._removeClass(this.buttons,\"ui-corner-all\");this._addClass(this.buttons.first(),\"ui-spinner-button ui-spinner-up\");this._addClass(this.buttons.last(),\"ui-spinner-button ui-spinner-down\");this.buttons.first().button({\"icon\":this.options.icons.up,\"showLabel\":false});this.buttons.last().button({\"icon\":this.options.icons.down,\"showLabel\":false});// IE 6 doesn't understand height: 50% for the buttons\n// unless the wrapper has an explicit height\nif(this.buttons.height()>Math.ceil(this.uiSpinner.height()*0.5)&&this.uiSpinner.height()>0){this.uiSpinner.height(this.uiSpinner.height());}},_keydown:function _keydown(event){var options=this.options,keyCode=$.ui.keyCode;switch(event.keyCode){case keyCode.UP:this._repeat(null,1,event);return true;case keyCode.DOWN:this._repeat(null,-1,event);return true;case keyCode.PAGE_UP:this._repeat(null,options.page,event);return true;case keyCode.PAGE_DOWN:this._repeat(null,-options.page,event);return true;}return false;},_start:function _start(event){if(!this.spinning&&this._trigger(\"start\",event)===false){return false;}if(!this.counter){this.counter=1;}this.spinning=true;return true;},_repeat:function _repeat(i,steps,event){i=i||500;clearTimeout(this.timer);this.timer=this._delay(function(){this._repeat(40,steps,event);},i);this._spin(steps*this.options.step,event);},_spin:function _spin(step,event){var value=this.value()||0;if(!this.counter){this.counter=1;}value=this._adjustValue(value+step*this._increment(this.counter));if(!this.spinning||this._trigger(\"spin\",event,{value:value})!==false){this._value(value);this.counter++;}},_increment:function _increment(i){var incremental=this.options.incremental;if(incremental){return typeof incremental===\"function\"?incremental(i):Math.floor(i*i*i/50000-i*i/500+17*i/200+1);}return 1;},_precision:function _precision(){var precision=this._precisionOf(this.options.step);if(this.options.min!==null){precision=Math.max(precision,this._precisionOf(this.options.min));}return precision;},_precisionOf:function _precisionOf(num){var str=num.toString(),decimal=str.indexOf(\".\");return decimal===-1?0:str.length-decimal-1;},_adjustValue:function _adjustValue(value){var base,aboveMin,options=this.options;// Make sure we're at a valid step\n// - find out where we are relative to the base (min or 0)\nbase=options.min!==null?options.min:0;aboveMin=value-base;// - round to the nearest step\naboveMin=Math.round(aboveMin/options.step)*options.step;// - rounding is based on 0, so adjust back to our base\nvalue=base+aboveMin;// Fix precision from bad JS floating point math\nvalue=parseFloat(value.toFixed(this._precision()));// Clamp the value\nif(options.max!==null&&value>options.max){return options.max;}if(options.min!==null&&value\";},_buttonHtml:function _buttonHtml(){return\"\";}});}var widgetsSpinner=$.ui.spinner;/*!\n * jQuery UI Tabs 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */ //>>label: Tabs\n//>>group: Widgets\n//>>description: Transforms a set of container elements into a tab structure.\n//>>docs: https://api.jqueryui.com/tabs/\n//>>demos: https://jqueryui.com/tabs/\n//>>css.structure: ../../themes/base/core.css\n//>>css.structure: ../../themes/base/tabs.css\n//>>css.theme: ../../themes/base/theme.css\n$.widget(\"ui.tabs\",{version:\"1.13.3\",delay:300,options:{active:null,classes:{\"ui-tabs\":\"ui-corner-all\",\"ui-tabs-nav\":\"ui-corner-all\",\"ui-tabs-panel\":\"ui-corner-bottom\",\"ui-tabs-tab\":\"ui-corner-top\"},collapsible:false,event:\"click\",heightStyle:\"content\",hide:null,show:null,// Callbacks\nactivate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var rhash=/#.*$/;return function(anchor){var anchorUrl,locationUrl;anchorUrl=anchor.href.replace(rhash,\"\");locationUrl=location.href.replace(rhash,\"\");// Decoding may throw an error if the URL isn't UTF-8 (#9518)\ntry{anchorUrl=decodeURIComponent(anchorUrl);}catch(error){}try{locationUrl=decodeURIComponent(locationUrl);}catch(error){}return anchor.hash.length>1&&anchorUrl===locationUrl;};}(),_create:function _create(){var that=this,options=this.options;this.running=false;this._addClass(\"ui-tabs\",\"ui-widget ui-widget-content\");this._toggleClass(\"ui-tabs-collapsible\",null,options.collapsible);this._processTabs();options.active=this._initialActive();// Take disabling tabs via class attribute from HTML\n// into account and update option properly.\nif(Array.isArray(options.disabled)){options.disabled=$.uniqueSort(options.disabled.concat($.map(this.tabs.filter(\".ui-state-disabled\"),function(li){return that.tabs.index(li);}))).sort();}// Check for length avoids error when initializing empty list\nif(this.options.active!==false&&this.anchors.length){this.active=this._findActive(options.active);}else{this.active=$();}this._refresh();if(this.active.length){this.load(options.active);}},_initialActive:function _initialActive(){var active=this.options.active,collapsible=this.options.collapsible,locationHash=location.hash.substring(1);if(active===null){// check the fragment identifier in the URL\nif(locationHash){this.tabs.each(function(i,tab){if($(tab).attr(\"aria-controls\")===locationHash){active=i;return false;}});}// Check for a tab marked active via a class\nif(active===null){active=this.tabs.index(this.tabs.filter(\".ui-tabs-active\"));}// No active tab, set to false\nif(active===null||active===-1){active=this.tabs.length?0:false;}}// Handle numbers: negative, out of range\nif(active!==false){active=this.tabs.index(this.tabs.eq(active));if(active===-1){active=collapsible?false:0;}}// Don't allow collapsible: false and active: false\nif(!collapsible&&active===false&&this.anchors.length){active=0;}return active;},_getCreateEventData:function _getCreateEventData(){return{tab:this.active,panel:!this.active.length?$():this._getPanelForTab(this.active)};},_tabKeydown:function _tabKeydown(event){var focusedTab=$($.ui.safeActiveElement(this.document[0])).closest(\"li\"),selectedIndex=this.tabs.index(focusedTab),goingForward=true;if(this._handlePageNav(event)){return;}switch(event.keyCode){case $.ui.keyCode.RIGHT:case $.ui.keyCode.DOWN:selectedIndex++;break;case $.ui.keyCode.UP:case $.ui.keyCode.LEFT:goingForward=false;selectedIndex--;break;case $.ui.keyCode.END:selectedIndex=this.anchors.length-1;break;case $.ui.keyCode.HOME:selectedIndex=0;break;case $.ui.keyCode.SPACE:// Activate only, no collapsing\nevent.preventDefault();clearTimeout(this.activating);this._activate(selectedIndex);return;case $.ui.keyCode.ENTER:// Toggle (cancel delayed activation, allow collapsing)\nevent.preventDefault();clearTimeout(this.activating);// Determine if we should collapse or activate\nthis._activate(selectedIndex===this.options.active?false:selectedIndex);return;default:return;}// Focus the appropriate tab, based on which key was pressed\nevent.preventDefault();clearTimeout(this.activating);selectedIndex=this._focusNextTab(selectedIndex,goingForward);// Navigating with control/command key will prevent automatic activation\nif(!event.ctrlKey&&!event.metaKey){// Update aria-selected immediately so that AT think the tab is already selected.\n// Otherwise AT may confuse the user by stating that they need to activate the tab,\n// but the tab will already be activated by the time the announcement finishes.\nfocusedTab.attr(\"aria-selected\",\"false\");this.tabs.eq(selectedIndex).attr(\"aria-selected\",\"true\");this.activating=this._delay(function(){this.option(\"active\",selectedIndex);},this.delay);}},_panelKeydown:function _panelKeydown(event){if(this._handlePageNav(event)){return;}// Ctrl+up moves focus to the current tab\nif(event.ctrlKey&&event.keyCode===$.ui.keyCode.UP){event.preventDefault();this.active.trigger(\"focus\");}},// Alt+page up/down moves focus to the previous/next tab (and activates)\n_handlePageNav:function _handlePageNav(event){if(event.altKey&&event.keyCode===$.ui.keyCode.PAGE_UP){this._activate(this._focusNextTab(this.options.active-1,false));return true;}if(event.altKey&&event.keyCode===$.ui.keyCode.PAGE_DOWN){this._activate(this._focusNextTab(this.options.active+1,true));return true;}},_findNextTab:function _findNextTab(index,goingForward){var lastTabIndex=this.tabs.length-1;function constrain(){if(index>lastTabIndex){index=0;}if(index<0){index=lastTabIndex;}return index;}while($.inArray(constrain(),this.options.disabled)!==-1){index=goingForward?index+1:index-1;}return index;},_focusNextTab:function _focusNextTab(index,goingForward){index=this._findNextTab(index,goingForward);this.tabs.eq(index).trigger(\"focus\");return index;},_setOption:function _setOption(key,value){if(key===\"active\"){// _activate() will handle invalid values and update this.options\nthis._activate(value);return;}this._super(key,value);if(key===\"collapsible\"){this._toggleClass(\"ui-tabs-collapsible\",null,value);// Setting collapsible: false while collapsed; open first panel\nif(!value&&this.options.active===false){this._activate(0);}}if(key===\"event\"){this._setupEvents(value);}if(key===\"heightStyle\"){this._setupHeightStyle(value);}},_sanitizeSelector:function _sanitizeSelector(hash){return hash?hash.replace(/[!\"$%&'()*+,.\\/:;<=>?@\\[\\]\\^`{|}~]/g,\"\\\\$&\"):\"\";},refresh:function refresh(){var options=this.options,lis=this.tablist.children(\":has(a[href])\");// Get disabled tabs from class attribute from HTML\n// this will get converted to a boolean if needed in _refresh()\noptions.disabled=$.map(lis.filter(\".ui-state-disabled\"),function(tab){return lis.index(tab);});this._processTabs();// Was collapsed or no tabs\nif(options.active===false||!this.anchors.length){options.active=false;this.active=$();// was active, but active tab is gone\n}else if(this.active.length&&!$.contains(this.tablist[0],this.active[0])){// all remaining tabs are disabled\nif(this.tabs.length===options.disabled.length){options.active=false;this.active=$();// activate previous tab\n}else{this._activate(this._findNextTab(Math.max(0,options.active-1),false));}// was active, active tab still exists\n}else{// make sure active index is correct\noptions.active=this.tabs.index(this.active);}this._refresh();},_refresh:function _refresh(){this._setOptionDisabled(this.options.disabled);this._setupEvents(this.options.event);this._setupHeightStyle(this.options.heightStyle);this.tabs.not(this.active).attr({\"aria-selected\":\"false\",\"aria-expanded\":\"false\",tabIndex:-1});this.panels.not(this._getPanelForTab(this.active)).hide().attr({\"aria-hidden\":\"true\"});// Make sure one tab is in the tab order\nif(!this.active.length){this.tabs.eq(0).attr(\"tabIndex\",0);}else{this.active.attr({\"aria-selected\":\"true\",\"aria-expanded\":\"true\",tabIndex:0});this._addClass(this.active,\"ui-tabs-active\",\"ui-state-active\");this._getPanelForTab(this.active).show().attr({\"aria-hidden\":\"false\"});}},_processTabs:function _processTabs(){var that=this,prevTabs=this.tabs,prevAnchors=this.anchors,prevPanels=this.panels;this.tablist=this._getList().attr(\"role\",\"tablist\");this._addClass(this.tablist,\"ui-tabs-nav\",\"ui-helper-reset ui-helper-clearfix ui-widget-header\");// Prevent users from focusing disabled tabs via click\nthis.tablist.on(\"mousedown\"+this.eventNamespace,\"> li\",function(event){if($(this).is(\".ui-state-disabled\")){event.preventDefault();}})// Support: IE <9\n// Preventing the default action in mousedown doesn't prevent IE\n// from focusing the element, so if the anchor gets focused, blur.\n// We don't have to worry about focusing the previously focused\n// element since clicking on a non-focusable element should focus\n// the body anyway.\n.on(\"focus\"+this.eventNamespace,\".ui-tabs-anchor\",function(){if($(this).closest(\"li\").is(\".ui-state-disabled\")){this.blur();}});this.tabs=this.tablist.find(\"> li:has(a[href])\").attr({role:\"tab\",tabIndex:-1});this._addClass(this.tabs,\"ui-tabs-tab\",\"ui-state-default\");this.anchors=this.tabs.map(function(){return $(\"a\",this)[0];}).attr({tabIndex:-1});this._addClass(this.anchors,\"ui-tabs-anchor\");this.panels=$();this.anchors.each(function(i,anchor){var selector,panel,panelId,anchorId=$(anchor).uniqueId().attr(\"id\"),tab=$(anchor).closest(\"li\"),originalAriaControls=tab.attr(\"aria-controls\");// Inline tab\nif(that._isLocal(anchor)){selector=anchor.hash;panelId=selector.substring(1);panel=that.element.find(that._sanitizeSelector(selector));// remote tab\n}else{// If the tab doesn't already have aria-controls,\n// generate an id by using a throw-away element\npanelId=tab.attr(\"aria-controls\")||$({}).uniqueId()[0].id;selector=\"#\"+panelId;panel=that.element.find(selector);if(!panel.length){panel=that._createPanel(panelId);panel.insertAfter(that.panels[i-1]||that.tablist);}panel.attr(\"aria-live\",\"polite\");}if(panel.length){that.panels=that.panels.add(panel);}if(originalAriaControls){tab.data(\"ui-tabs-aria-controls\",originalAriaControls);}tab.attr({\"aria-controls\":panelId,\"aria-labelledby\":anchorId});panel.attr(\"aria-labelledby\",anchorId);});this.panels.attr(\"role\",\"tabpanel\");this._addClass(this.panels,\"ui-tabs-panel\",\"ui-widget-content\");// Avoid memory leaks (#10056)\nif(prevTabs){this._off(prevTabs.not(this.tabs));this._off(prevAnchors.not(this.anchors));this._off(prevPanels.not(this.panels));}},// Allow overriding how to find the list for rare usage scenarios (#7715)\n_getList:function _getList(){return this.tablist||this.element.find(\"ol, ul\").eq(0);},_createPanel:function _createPanel(id){return $(\"
\").attr(\"id\",id).data(\"ui-tabs-destroy\",true);},_setOptionDisabled:function _setOptionDisabled(disabled){var currentItem,li,i;if(Array.isArray(disabled)){if(!disabled.length){disabled=false;}else if(disabled.length===this.anchors.length){disabled=true;}}// Disable tabs\nfor(i=0;li=this.tabs[i];i++){currentItem=$(li);if(disabled===true||$.inArray(i,disabled)!==-1){currentItem.attr(\"aria-disabled\",\"true\");this._addClass(currentItem,null,\"ui-state-disabled\");}else{currentItem.removeAttr(\"aria-disabled\");this._removeClass(currentItem,null,\"ui-state-disabled\");}}this.options.disabled=disabled;this._toggleClass(this.widget(),this.widgetFullName+\"-disabled\",null,disabled===true);},_setupEvents:function _setupEvents(event){var events={};if(event){$.each(event.split(\" \"),function(index,eventName){events[eventName]=\"_eventHandler\";});}this._off(this.anchors.add(this.tabs).add(this.panels));// Always prevent the default action, even when disabled\nthis._on(true,this.anchors,{click:function click(event){event.preventDefault();}});this._on(this.anchors,events);this._on(this.tabs,{keydown:\"_tabKeydown\"});this._on(this.panels,{keydown:\"_panelKeydown\"});this._focusable(this.tabs);this._hoverable(this.tabs);},_setupHeightStyle:function _setupHeightStyle(heightStyle){var maxHeight,parent=this.element.parent();if(heightStyle===\"fill\"){maxHeight=parent.height();maxHeight-=this.element.outerHeight()-this.element.height();this.element.siblings(\":visible\").each(function(){var elem=$(this),position=elem.css(\"position\");if(position===\"absolute\"||position===\"fixed\"){return;}maxHeight-=elem.outerHeight(true);});this.element.children().not(this.panels).each(function(){maxHeight-=$(this).outerHeight(true);});this.panels.each(function(){$(this).height(Math.max(0,maxHeight-$(this).innerHeight()+$(this).height()));}).css(\"overflow\",\"auto\");}else if(heightStyle===\"auto\"){maxHeight=0;this.panels.each(function(){maxHeight=Math.max(maxHeight,$(this).height(\"\").height());}).height(maxHeight);}},_eventHandler:function _eventHandler(event){var options=this.options,active=this.active,anchor=$(event.currentTarget),tab=anchor.closest(\"li\"),clickedIsActive=tab[0]===active[0],collapsing=clickedIsActive&&options.collapsible,toShow=collapsing?$():this._getPanelForTab(tab),toHide=!active.length?$():this._getPanelForTab(active),eventData={oldTab:active,oldPanel:toHide,newTab:collapsing?$():tab,newPanel:toShow};event.preventDefault();if(tab.hasClass(\"ui-state-disabled\")||// tab is already loading\ntab.hasClass(\"ui-tabs-loading\")||// can't switch durning an animation\nthis.running||// click on active header, but not collapsible\nclickedIsActive&&!options.collapsible||// allow canceling activation\nthis._trigger(\"beforeActivate\",event,eventData)===false){return;}options.active=collapsing?false:this.tabs.index(tab);this.active=clickedIsActive?$():tab;if(this.xhr){this.xhr.abort();}if(!toHide.length&&!toShow.length){$.error(\"jQuery UI Tabs: Mismatching fragment identifier.\");}if(toShow.length){this.load(this.tabs.index(tab),event);}this._toggle(event,eventData);},// Handles show/hide for selecting tabs\n_toggle:function _toggle(event,eventData){var that=this,toShow=eventData.newPanel,toHide=eventData.oldPanel;this.running=true;function complete(){that.running=false;that._trigger(\"activate\",event,eventData);}function show(){that._addClass(eventData.newTab.closest(\"li\"),\"ui-tabs-active\",\"ui-state-active\");if(toShow.length&&that.options.show){that._show(toShow,that.options.show,complete);}else{toShow.show();complete();}}// Start out by hiding, then showing, then completing\nif(toHide.length&&this.options.hide){this._hide(toHide,this.options.hide,function(){that._removeClass(eventData.oldTab.closest(\"li\"),\"ui-tabs-active\",\"ui-state-active\");show();});}else{this._removeClass(eventData.oldTab.closest(\"li\"),\"ui-tabs-active\",\"ui-state-active\");toHide.hide();show();}toHide.attr(\"aria-hidden\",\"true\");eventData.oldTab.attr({\"aria-selected\":\"false\",\"aria-expanded\":\"false\"});// If we're switching tabs, remove the old tab from the tab order.\n// If we're opening from collapsed state, remove the previous tab from the tab order.\n// If we're collapsing, then keep the collapsing tab in the tab order.\nif(toShow.length&&toHide.length){eventData.oldTab.attr(\"tabIndex\",-1);}else if(toShow.length){this.tabs.filter(function(){return $(this).attr(\"tabIndex\")===0;}).attr(\"tabIndex\",-1);}toShow.attr(\"aria-hidden\",\"false\");eventData.newTab.attr({\"aria-selected\":\"true\",\"aria-expanded\":\"true\",tabIndex:0});},_activate:function _activate(index){var anchor,active=this._findActive(index);// Trying to activate the already active panel\nif(active[0]===this.active[0]){return;}// Trying to collapse, simulate a click on the current active header\nif(!active.length){active=this.active;}anchor=active.find(\".ui-tabs-anchor\")[0];this._eventHandler({target:anchor,currentTarget:anchor,preventDefault:$.noop});},_findActive:function _findActive(index){return index===false?$():this.tabs.eq(index);},_getIndex:function _getIndex(index){// meta-function to give users option to provide a href string instead of a numerical index.\nif(typeof index===\"string\"){index=this.anchors.index(this.anchors.filter(\"[href$='\"+$.escapeSelector(index)+\"']\"));}return index;},_destroy:function _destroy(){if(this.xhr){this.xhr.abort();}this.tablist.removeAttr(\"role\").off(this.eventNamespace);this.anchors.removeAttr(\"role tabIndex\").removeUniqueId();this.tabs.add(this.panels).each(function(){if($.data(this,\"ui-tabs-destroy\")){$(this).remove();}else{$(this).removeAttr(\"role tabIndex \"+\"aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded\");}});this.tabs.each(function(){var li=$(this),prev=li.data(\"ui-tabs-aria-controls\");if(prev){li.attr(\"aria-controls\",prev).removeData(\"ui-tabs-aria-controls\");}else{li.removeAttr(\"aria-controls\");}});this.panels.show();if(this.options.heightStyle!==\"content\"){this.panels.css(\"height\",\"\");}},enable:function enable(index){var disabled=this.options.disabled;if(disabled===false){return;}if(index===undefined){disabled=false;}else{index=this._getIndex(index);if(Array.isArray(disabled)){disabled=$.map(disabled,function(num){return num!==index?num:null;});}else{disabled=$.map(this.tabs,function(li,num){return num!==index?num:null;});}}this._setOptionDisabled(disabled);},disable:function disable(index){var disabled=this.options.disabled;if(disabled===true){return;}if(index===undefined){disabled=true;}else{index=this._getIndex(index);if($.inArray(index,disabled)!==-1){return;}if(Array.isArray(disabled)){disabled=$.merge([index],disabled).sort();}else{disabled=[index];}}this._setOptionDisabled(disabled);},load:function load(index,event){index=this._getIndex(index);var that=this,tab=this.tabs.eq(index),anchor=tab.find(\".ui-tabs-anchor\"),panel=this._getPanelForTab(tab),eventData={tab:tab,panel:panel},complete=function complete(jqXHR,status){if(status===\"abort\"){that.panels.stop(false,true);}that._removeClass(tab,\"ui-tabs-loading\");panel.removeAttr(\"aria-busy\");if(jqXHR===that.xhr){delete that.xhr;}};// Not remote\nif(this._isLocal(anchor[0])){return;}this.xhr=$.ajax(this._ajaxSettings(anchor,event,eventData));// Support: jQuery <1.8\n// jQuery <1.8 returns false if the request is canceled in beforeSend,\n// but as of 1.8, $.ajax() always returns a jqXHR object.\nif(this.xhr&&this.xhr.statusText!==\"canceled\"){this._addClass(tab,\"ui-tabs-loading\");panel.attr(\"aria-busy\",\"true\");this.xhr.done(function(response,status,jqXHR){// support: jQuery <1.8\n// https://bugs.jquery.com/ticket/11778\nsetTimeout(function(){panel.html(response);that._trigger(\"load\",event,eventData);complete(jqXHR,status);},1);}).fail(function(jqXHR,status){// support: jQuery <1.8\n// https://bugs.jquery.com/ticket/11778\nsetTimeout(function(){complete(jqXHR,status);},1);});}},_ajaxSettings:function _ajaxSettings(anchor,event,eventData){var that=this;return{// Support: IE <11 only\n// Strip any hash that exists to prevent errors with the Ajax request\nurl:anchor.attr(\"href\").replace(/#.*$/,\"\"),beforeSend:function beforeSend(jqXHR,settings){return that._trigger(\"beforeLoad\",event,$.extend({jqXHR:jqXHR,ajaxSettings:settings},eventData));}};},_getPanelForTab:function _getPanelForTab(tab){var id=$(tab).attr(\"aria-controls\");return this.element.find(this._sanitizeSelector(\"#\"+id));}});// DEPRECATED\n// TODO: Switch return back to widget declaration at top of file when this is removed\nif($.uiBackCompat!==false){// Backcompat for ui-tab class (now ui-tabs-tab)\n$.widget(\"ui.tabs\",$.ui.tabs,{_processTabs:function _processTabs(){this._superApply(arguments);this._addClass(this.tabs,\"ui-tab\");}});}var widgetsTabs=$.ui.tabs;/*!\n * jQuery UI Tooltip 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */ //>>label: Tooltip\n//>>group: Widgets\n//>>description: Shows additional information for any element on hover or focus.\n//>>docs: https://api.jqueryui.com/tooltip/\n//>>demos: https://jqueryui.com/tooltip/\n//>>css.structure: ../../themes/base/core.css\n//>>css.structure: ../../themes/base/tooltip.css\n//>>css.theme: ../../themes/base/theme.css\n$.widget(\"ui.tooltip\",{version:\"1.13.3\",options:{classes:{\"ui-tooltip\":\"ui-corner-all ui-widget-shadow\"},content:function content(){var title=$(this).attr(\"title\");// Escape title, since we're going from an attribute to raw HTML\nreturn $(\"\").text(title).html();},hide:true,// Disabled elements have inconsistent behavior across browsers (#8661)\nitems:\"[title]:not([disabled])\",position:{my:\"left top+15\",at:\"left bottom\",collision:\"flipfit flip\"},show:true,track:false,// Callbacks\nclose:null,open:null},_addDescribedBy:function _addDescribedBy(elem,id){var describedby=(elem.attr(\"aria-describedby\")||\"\").split(/\\s+/);describedby.push(id);elem.data(\"ui-tooltip-id\",id).attr(\"aria-describedby\",String.prototype.trim.call(describedby.join(\" \")));},_removeDescribedBy:function _removeDescribedBy(elem){var id=elem.data(\"ui-tooltip-id\"),describedby=(elem.attr(\"aria-describedby\")||\"\").split(/\\s+/),index=$.inArray(id,describedby);if(index!==-1){describedby.splice(index,1);}elem.removeData(\"ui-tooltip-id\");describedby=String.prototype.trim.call(describedby.join(\" \"));if(describedby){elem.attr(\"aria-describedby\",describedby);}else{elem.removeAttr(\"aria-describedby\");}},_create:function _create(){this._on({mouseover:\"open\",focusin:\"open\"});// IDs of generated tooltips, needed for destroy\nthis.tooltips={};// IDs of parent tooltips where we removed the title attribute\nthis.parents={};// Append the aria-live region so tooltips announce correctly\nthis.liveRegion=$(\"
\").attr({role:\"log\",\"aria-live\":\"assertive\",\"aria-relevant\":\"additions\"}).appendTo(this.document[0].body);this._addClass(this.liveRegion,null,\"ui-helper-hidden-accessible\");this.disabledTitles=$([]);},_setOption:function _setOption(key,value){var that=this;this._super(key,value);if(key===\"content\"){$.each(this.tooltips,function(id,tooltipData){that._updateContent(tooltipData.element);});}},_setOptionDisabled:function _setOptionDisabled(value){this[value?\"_disable\":\"_enable\"]();},_disable:function _disable(){var that=this;// Close open tooltips\n$.each(this.tooltips,function(id,tooltipData){var event=$.Event(\"blur\");event.target=event.currentTarget=tooltipData.element[0];that.close(event,true);});// Remove title attributes to prevent native tooltips\nthis.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var element=$(this);if(element.is(\"[title]\")){return element.data(\"ui-tooltip-title\",element.attr(\"title\")).removeAttr(\"title\");}}));},_enable:function _enable(){// restore title attributes\nthis.disabledTitles.each(function(){var element=$(this);if(element.data(\"ui-tooltip-title\")){element.attr(\"title\",element.data(\"ui-tooltip-title\"));}});this.disabledTitles=$([]);},open:function open(event){var that=this,target=$(event?event.target:this.element)// we need closest here due to mouseover bubbling,\n// but always pointing at the same event target\n.closest(this.options.items);// No element to show a tooltip for or the tooltip is already open\nif(!target.length||target.data(\"ui-tooltip-id\")){return;}if(target.attr(\"title\")){target.data(\"ui-tooltip-title\",target.attr(\"title\"));}target.data(\"ui-tooltip-open\",true);// Kill parent tooltips, custom or native, for hover\nif(event&&event.type===\"mouseover\"){target.parents().each(function(){var parent=$(this),blurEvent;if(parent.data(\"ui-tooltip-open\")){blurEvent=$.Event(\"blur\");blurEvent.target=blurEvent.currentTarget=this;that.close(blurEvent,true);}if(parent.attr(\"title\")){parent.uniqueId();that.parents[this.id]={element:this,title:parent.attr(\"title\")};parent.attr(\"title\",\"\");}});}this._registerCloseHandlers(event,target);this._updateContent(target,event);},_updateContent:function _updateContent(target,event){var content,contentOption=this.options.content,that=this,eventType=event?event.type:null;if(typeof contentOption===\"string\"||contentOption.nodeType||contentOption.jquery){return this._open(event,target,contentOption);}content=contentOption.call(target[0],function(response){// IE may instantly serve a cached response for ajax requests\n// delay this call to _open so the other call to _open runs first\nthat._delay(function(){// Ignore async response if tooltip was closed already\nif(!target.data(\"ui-tooltip-open\")){return;}// JQuery creates a special event for focusin when it doesn't\n// exist natively. To improve performance, the native event\n// object is reused and the type is changed. Therefore, we can't\n// rely on the type being correct after the event finished\n// bubbling, so we set it back to the previous value. (#8740)\nif(event){event.type=eventType;}this._open(event,target,response);});});if(content){this._open(event,target,content);}},_open:function _open(event,target,content){var tooltipData,tooltip,delayedShow,a11yContent,positionOption=$.extend({},this.options.position);if(!content){return;}// Content can be updated multiple times. If the tooltip already\n// exists, then just update the content and bail.\ntooltipData=this._find(target);if(tooltipData){tooltipData.tooltip.find(\".ui-tooltip-content\").html(content);return;}// If we have a title, clear it to prevent the native tooltip\n// we have to check first to avoid defining a title if none exists\n// (we don't want to cause an element to start matching [title])\n//\n// We use removeAttr only for key events, to allow IE to export the correct\n// accessible attributes. For mouse events, set to empty string to avoid\n// native tooltip showing up (happens only when removing inside mouseover).\nif(target.is(\"[title]\")){if(event&&event.type===\"mouseover\"){target.attr(\"title\",\"\");}else{target.removeAttr(\"title\");}}tooltipData=this._tooltip(target);tooltip=tooltipData.tooltip;this._addDescribedBy(target,tooltip.attr(\"id\"));tooltip.find(\".ui-tooltip-content\").html(content);// Support: Voiceover on OS X, JAWS on IE <= 9\n// JAWS announces deletions even when aria-relevant=\"additions\"\n// Voiceover will sometimes re-read the entire log region's contents from the beginning\nthis.liveRegion.children().hide();a11yContent=$(\"
\").html(tooltip.find(\".ui-tooltip-content\").html());a11yContent.removeAttr(\"name\").find(\"[name]\").removeAttr(\"name\");a11yContent.removeAttr(\"id\").find(\"[id]\").removeAttr(\"id\");a11yContent.appendTo(this.liveRegion);function position(event){positionOption.of=event;if(tooltip.is(\":hidden\")){return;}tooltip.position(positionOption);}if(this.options.track&&event&&/^mouse/.test(event.type)){this._on(this.document,{mousemove:position});// trigger once to override element-relative positioning\nposition(event);}else{tooltip.position($.extend({of:target},this.options.position));}tooltip.hide();this._show(tooltip,this.options.show);// Handle tracking tooltips that are shown with a delay (#8644). As soon\n// as the tooltip is visible, position the tooltip using the most recent\n// event.\n// Adds the check to add the timers only when both delay and track options are set (#14682)\nif(this.options.track&&this.options.show&&this.options.show.delay){delayedShow=this.delayedShow=setInterval(function(){if(tooltip.is(\":visible\")){position(positionOption.of);clearInterval(delayedShow);}},13);}this._trigger(\"open\",event,{tooltip:tooltip});},_registerCloseHandlers:function _registerCloseHandlers(event,target){var events={keyup:function keyup(event){if(event.keyCode===$.ui.keyCode.ESCAPE){var fakeEvent=$.Event(event);fakeEvent.currentTarget=target[0];this.close(fakeEvent,true);}}};// Only bind remove handler for delegated targets. Non-delegated\n// tooltips will handle this in destroy.\nif(target[0]!==this.element[0]){events.remove=function(){var targetElement=this._find(target);if(targetElement){this._removeTooltip(targetElement.tooltip);}};}if(!event||event.type===\"mouseover\"){events.mouseleave=\"close\";}if(!event||event.type===\"focusin\"){events.focusout=\"close\";}this._on(true,target,events);},close:function close(event){var tooltip,that=this,target=$(event?event.currentTarget:this.element),tooltipData=this._find(target);// The tooltip may already be closed\nif(!tooltipData){// We set ui-tooltip-open immediately upon open (in open()), but only set the\n// additional data once there's actually content to show (in _open()). So even if the\n// tooltip doesn't have full data, we always remove ui-tooltip-open in case we're in\n// the period between open() and _open().\ntarget.removeData(\"ui-tooltip-open\");return;}tooltip=tooltipData.tooltip;// Disabling closes the tooltip, so we need to track when we're closing\n// to avoid an infinite loop in case the tooltip becomes disabled on close\nif(tooltipData.closing){return;}// Clear the interval for delayed tracking tooltips\nclearInterval(this.delayedShow);// Only set title if we had one before (see comment in _open())\n// If the title attribute has changed since open(), don't restore\nif(target.data(\"ui-tooltip-title\")&&!target.attr(\"title\")){target.attr(\"title\",target.data(\"ui-tooltip-title\"));}this._removeDescribedBy(target);tooltipData.hiding=true;tooltip.stop(true);this._hide(tooltip,this.options.hide,function(){that._removeTooltip($(this));});target.removeData(\"ui-tooltip-open\");this._off(target,\"mouseleave focusout keyup\");// Remove 'remove' binding only on delegated targets\nif(target[0]!==this.element[0]){this._off(target,\"remove\");}this._off(this.document,\"mousemove\");if(event&&event.type===\"mouseleave\"){$.each(this.parents,function(id,parent){$(parent.element).attr(\"title\",parent.title);delete that.parents[id];});}tooltipData.closing=true;this._trigger(\"close\",event,{tooltip:tooltip});if(!tooltipData.hiding){tooltipData.closing=false;}},_tooltip:function _tooltip(element){var tooltip=$(\"
\").attr(\"role\",\"tooltip\"),content=$(\"
\").appendTo(tooltip),id=tooltip.uniqueId().attr(\"id\");this._addClass(content,\"ui-tooltip-content\");this._addClass(tooltip,\"ui-tooltip\",\"ui-widget ui-widget-content\");tooltip.appendTo(this._appendTo(element));return this.tooltips[id]={element:element,tooltip:tooltip};},_find:function _find(target){var id=target.data(\"ui-tooltip-id\");return id?this.tooltips[id]:null;},_removeTooltip:function _removeTooltip(tooltip){// Clear the interval for delayed tracking tooltips\nclearInterval(this.delayedShow);tooltip.remove();delete this.tooltips[tooltip.attr(\"id\")];},_appendTo:function _appendTo(target){var element=target.closest(\".ui-front, dialog\");if(!element.length){element=this.document[0].body;}return element;},_destroy:function _destroy(){var that=this;// Close open tooltips\n$.each(this.tooltips,function(id,tooltipData){// Delegate to close method to handle common cleanup\nvar event=$.Event(\"blur\"),element=tooltipData.element;event.target=event.currentTarget=element[0];that.close(event,true);// Remove immediately; destroying an open tooltip doesn't use the\n// hide animation\n$(\"#\"+id).remove();// Restore the title\nif(element.data(\"ui-tooltip-title\")){// If the title attribute has changed since open(), don't restore\nif(!element.attr(\"title\")){element.attr(\"title\",element.data(\"ui-tooltip-title\"));}element.removeData(\"ui-tooltip-title\");}});this.liveRegion.remove();}});// DEPRECATED\n// TODO: Switch return back to widget declaration at top of file when this is removed\nif($.uiBackCompat!==false){// Backcompat for tooltipClass option\n$.widget(\"ui.tooltip\",$.ui.tooltip,{options:{tooltipClass:null},_tooltip:function _tooltip(){var tooltipData=this._superApply(arguments);if(this.options.tooltipClass){tooltipData.tooltip.addClass(this.options.tooltipClass);}return tooltipData;}});}var widgetsTooltip=$.ui.tooltip;});\n\n//# sourceURL=webpack://rup/./node_modules/jquery-ui-dist/jquery-ui.js?"); +eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o){\"@babel/helpers - typeof\";return _typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&\"function\"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?\"symbol\":typeof o;},_typeof(o);}/*! jQuery UI - v1.13.2 - 2022-07-14\n* http://jqueryui.com\n* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js\n* Copyright jQuery Foundation and other contributors; Licensed MIT */(function(factory){\"use strict\";if(true){// AMD. Register as an anonymous module.\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));}else{}})(function($){\"use strict\";$.ui=$.ui||{};var version=$.ui.version=\"1.13.2\";/*!\n * jQuery UI Widget 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Widget\n//>>group: Core\n//>>description: Provides a factory for creating stateful widgets with a common API.\n//>>docs: http://api.jqueryui.com/jQuery.widget/\n//>>demos: http://jqueryui.com/widget/\nvar widgetUuid=0;var widgetHasOwnProperty=Array.prototype.hasOwnProperty;var widgetSlice=Array.prototype.slice;$.cleanData=function(orig){return function(elems){var events,elem,i;for(i=0;(elem=elems[i])!=null;i++){// Only trigger remove when necessary to save time\nevents=$._data(elem,\"events\");if(events&&events.remove){$(elem).triggerHandler(\"remove\");}}orig(elems);};}($.cleanData);$.widget=function(name,base,prototype){var existingConstructor,constructor,basePrototype;// ProxiedPrototype allows the provided prototype to remain unmodified\n// so that it can be used as a mixin for multiple widgets (#8876)\nvar proxiedPrototype={};var namespace=name.split(\".\")[0];name=name.split(\".\")[1];var fullName=namespace+\"-\"+name;if(!prototype){prototype=base;base=$.Widget;}if(Array.isArray(prototype)){prototype=$.extend.apply(null,[{}].concat(prototype));}// Create selector for plugin\n$.expr.pseudos[fullName.toLowerCase()]=function(elem){return!!$.data(elem,fullName);};$[namespace]=$[namespace]||{};existingConstructor=$[namespace][name];constructor=$[namespace][name]=function(options,element){// Allow instantiation without \"new\" keyword\nif(!this||!this._createWidget){return new constructor(options,element);}// Allow instantiation without initializing for simple inheritance\n// must use \"new\" keyword (the code above always passes args)\nif(arguments.length){this._createWidget(options,element);}};// Extend with the existing constructor to carry over any static properties\n$.extend(constructor,existingConstructor,{version:prototype.version,// Copy the object used to create the prototype in case we need to\n// redefine the widget later\n_proto:$.extend({},prototype),// Track widgets that inherit from this widget in case this widget is\n// redefined after a widget inherits from it\n_childConstructors:[]});basePrototype=new base();// We need to make the options hash a property directly on the new instance\n// otherwise we'll modify the options hash on the prototype that we're\n// inheriting from\nbasePrototype.options=$.widget.extend({},basePrototype.options);$.each(prototype,function(prop,value){if(typeof value!==\"function\"){proxiedPrototype[prop]=value;return;}proxiedPrototype[prop]=function(){function _super(){return base.prototype[prop].apply(this,arguments);}function _superApply(args){return base.prototype[prop].apply(this,args);}return function(){var __super=this._super;var __superApply=this._superApply;var returnValue;this._super=_super;this._superApply=_superApply;returnValue=value.apply(this,arguments);this._super=__super;this._superApply=__superApply;return returnValue;};}();});constructor.prototype=$.widget.extend(basePrototype,{// TODO: remove support for widgetEventPrefix\n// always use the name + a colon as the prefix, e.g., draggable:start\n// don't prefix for widgets that aren't DOM-based\nwidgetEventPrefix:existingConstructor?basePrototype.widgetEventPrefix||name:name},proxiedPrototype,{constructor:constructor,namespace:namespace,widgetName:name,widgetFullName:fullName});// If this widget is being redefined then we need to find all widgets that\n// are inheriting from it and redefine all of them so that they inherit from\n// the new version of this widget. We're essentially trying to replace one\n// level in the prototype chain.\nif(existingConstructor){$.each(existingConstructor._childConstructors,function(i,child){var childPrototype=child.prototype;// Redefine the child widget using the same prototype that was\n// originally used, but inherit from the new version of the base\n$.widget(childPrototype.namespace+\".\"+childPrototype.widgetName,constructor,child._proto);});// Remove the list of existing child constructors from the old constructor\n// so the old child constructors can be garbage collected\ndelete existingConstructor._childConstructors;}else{base._childConstructors.push(constructor);}$.widget.bridge(name,constructor);return constructor;};$.widget.extend=function(target){var input=widgetSlice.call(arguments,1);var inputIndex=0;var inputLength=input.length;var key;var value;for(;inputIndex\",options:{classes:{},disabled:false,// Callbacks\ncreate:null},_createWidget:function _createWidget(options,element){element=$(element||this.defaultElement||this)[0];this.element=$(element);this.uuid=widgetUuid++;this.eventNamespace=\".\"+this.widgetName+this.uuid;this.bindings=$();this.hoverable=$();this.focusable=$();this.classesElementLookup={};if(element!==this){$.data(element,this.widgetFullName,this);this._on(true,this.element,{remove:function remove(event){if(event.target===element){this.destroy();}}});this.document=$(element.style?// Element within the document\nelement.ownerDocument:// Element is window or document\nelement.document||element);this.window=$(this.document[0].defaultView||this.document[0].parentWindow);}this.options=$.widget.extend({},this.options,this._getCreateOptions(),options);this._create();if(this.options.disabled){this._setOptionDisabled(this.options.disabled);}this._trigger(\"create\",null,this._getCreateEventData());this._init();},_getCreateOptions:function _getCreateOptions(){return{};},_getCreateEventData:$.noop,_create:$.noop,_init:$.noop,destroy:function destroy(){var that=this;this._destroy();$.each(this.classesElementLookup,function(key,value){that._removeClass(value,key);});// We can probably remove the unbind calls in 2.0\n// all event bindings should go through this._on()\nthis.element.off(this.eventNamespace).removeData(this.widgetFullName);this.widget().off(this.eventNamespace).removeAttr(\"aria-disabled\");// Clean up events and states\nthis.bindings.off(this.eventNamespace);},_destroy:$.noop,widget:function widget(){return this.element;},option:function option(key,value){var options=key;var parts;var curOption;var i;if(arguments.length===0){// Don't return a reference to the internal hash\nreturn $.widget.extend({},this.options);}if(typeof key===\"string\"){// Handle nested keys, e.g., \"foo.bar\" => { foo: { bar: ___ } }\noptions={};parts=key.split(\".\");key=parts.shift();if(parts.length){curOption=options[key]=$.widget.extend({},this.options[key]);for(i=0;i>label: Position\n//>>group: Core\n//>>description: Positions elements relative to other elements.\n//>>docs: http://api.jqueryui.com/position/\n//>>demos: http://jqueryui.com/position/\n(function(){var cachedScrollbarWidth,max=Math.max,abs=Math.abs,rhorizontal=/left|center|right/,rvertical=/top|center|bottom/,roffset=/[\\+\\-]\\d+(\\.[\\d]+)?%?/,rposition=/^\\w+/,rpercent=/%$/,_position=$.fn.position;function getOffsets(offsets,width,height){return[parseFloat(offsets[0])*(rpercent.test(offsets[0])?width/100:1),parseFloat(offsets[1])*(rpercent.test(offsets[1])?height/100:1)];}function parseCss(element,property){return parseInt($.css(element,property),10)||0;}function isWindow(obj){return obj!=null&&obj===obj.window;}function getDimensions(elem){var raw=elem[0];if(raw.nodeType===9){return{width:elem.width(),height:elem.height(),offset:{top:0,left:0}};}if(isWindow(raw)){return{width:elem.width(),height:elem.height(),offset:{top:elem.scrollTop(),left:elem.scrollLeft()}};}if(raw.preventDefault){return{width:0,height:0,offset:{top:raw.pageY,left:raw.pageX}};}return{width:elem.outerWidth(),height:elem.outerHeight(),offset:elem.offset()};}$.position={scrollbarWidth:function scrollbarWidth(){if(cachedScrollbarWidth!==undefined){return cachedScrollbarWidth;}var w1,w2,div=$(\"
\"+\"
\"),innerDiv=div.children()[0];$(\"body\").append(div);w1=innerDiv.offsetWidth;div.css(\"overflow\",\"scroll\");w2=innerDiv.offsetWidth;if(w1===w2){w2=div[0].clientWidth;}div.remove();return cachedScrollbarWidth=w1-w2;},getScrollInfo:function getScrollInfo(within){var overflowX=within.isWindow||within.isDocument?\"\":within.element.css(\"overflow-x\"),overflowY=within.isWindow||within.isDocument?\"\":within.element.css(\"overflow-y\"),hasOverflowX=overflowX===\"scroll\"||overflowX===\"auto\"&&within.width0?\"right\":\"center\",vertical:bottom<0?\"top\":top>0?\"bottom\":\"middle\"};if(targetWidthmax(abs(top),abs(bottom))){feedback.important=\"horizontal\";}else{feedback.important=\"vertical\";}options.using.call(this,props,feedback);};}elem.offset($.extend(position,{using:using}));});};$.ui.position={fit:{left:function left(position,data){var within=data.within,withinOffset=within.isWindow?within.scrollLeft:within.offset.left,outerWidth=within.width,collisionPosLeft=position.left-data.collisionPosition.marginLeft,overLeft=withinOffset-collisionPosLeft,overRight=collisionPosLeft+data.collisionWidth-outerWidth-withinOffset,newOverRight;// Element is wider than within\nif(data.collisionWidth>outerWidth){// Element is initially over the left side of within\nif(overLeft>0&&overRight<=0){newOverRight=position.left+overLeft+data.collisionWidth-outerWidth-withinOffset;position.left+=overLeft-newOverRight;// Element is initially over right side of within\n}else if(overRight>0&&overLeft<=0){position.left=withinOffset;// Element is initially over both left and right sides of within\n}else{if(overLeft>overRight){position.left=withinOffset+outerWidth-data.collisionWidth;}else{position.left=withinOffset;}}// Too far left -> align with left edge\n}else if(overLeft>0){position.left+=overLeft;// Too far right -> align with right edge\n}else if(overRight>0){position.left-=overRight;// Adjust based on position and margin\n}else{position.left=max(position.left-collisionPosLeft,position.left);}},top:function top(position,data){var within=data.within,withinOffset=within.isWindow?within.scrollTop:within.offset.top,outerHeight=data.within.height,collisionPosTop=position.top-data.collisionPosition.marginTop,overTop=withinOffset-collisionPosTop,overBottom=collisionPosTop+data.collisionHeight-outerHeight-withinOffset,newOverBottom;// Element is taller than within\nif(data.collisionHeight>outerHeight){// Element is initially over the top of within\nif(overTop>0&&overBottom<=0){newOverBottom=position.top+overTop+data.collisionHeight-outerHeight-withinOffset;position.top+=overTop-newOverBottom;// Element is initially over bottom of within\n}else if(overBottom>0&&overTop<=0){position.top=withinOffset;// Element is initially over both top and bottom of within\n}else{if(overTop>overBottom){position.top=withinOffset+outerHeight-data.collisionHeight;}else{position.top=withinOffset;}}// Too far up -> align with top\n}else if(overTop>0){position.top+=overTop;// Too far down -> align with bottom edge\n}else if(overBottom>0){position.top-=overBottom;// Adjust based on position and margin\n}else{position.top=max(position.top-collisionPosTop,position.top);}}},flip:{left:function left(position,data){var within=data.within,withinOffset=within.offset.left+within.scrollLeft,outerWidth=within.width,offsetLeft=within.isWindow?within.scrollLeft:within.offset.left,collisionPosLeft=position.left-data.collisionPosition.marginLeft,overLeft=collisionPosLeft-offsetLeft,overRight=collisionPosLeft+data.collisionWidth-outerWidth-offsetLeft,myOffset=data.my[0]===\"left\"?-data.elemWidth:data.my[0]===\"right\"?data.elemWidth:0,atOffset=data.at[0]===\"left\"?data.targetWidth:data.at[0]===\"right\"?-data.targetWidth:0,offset=-2*data.offset[0],newOverRight,newOverLeft;if(overLeft<0){newOverRight=position.left+myOffset+atOffset+offset+data.collisionWidth-outerWidth-withinOffset;if(newOverRight<0||newOverRight0){newOverLeft=position.left-data.collisionPosition.marginLeft+myOffset+atOffset+offset-offsetLeft;if(newOverLeft>0||abs(newOverLeft)0){newOverTop=position.top-data.collisionPosition.marginTop+myOffset+atOffset+offset-offsetTop;if(newOverTop>0||abs(newOverTop)>label: :data Selector\n//>>group: Core\n//>>description: Selects elements which have data stored under the specified key.\n//>>docs: http://api.jqueryui.com/data-selector/\nvar data=$.extend($.expr.pseudos,{data:$.expr.createPseudo?$.expr.createPseudo(function(dataName){return function(elem){return!!$.data(elem,dataName);};}):// Support: jQuery <1.8\nfunction(elem,i,match){return!!$.data(elem,match[3]);}});/*!\n * jQuery UI Disable Selection 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: disableSelection\n//>>group: Core\n//>>description: Disable selection of text content within the set of matched elements.\n//>>docs: http://api.jqueryui.com/disableSelection/\n// This file is deprecated\nvar disableSelection=$.fn.extend({disableSelection:function(){var eventType=\"onselectstart\"in document.createElement(\"div\")?\"selectstart\":\"mousedown\";return function(){return this.on(eventType+\".ui-disableSelection\",function(event){event.preventDefault();});};}(),enableSelection:function enableSelection(){return this.off(\".ui-disableSelection\");}});// Create a local jQuery because jQuery Color relies on it and the\n// global may not exist with AMD and a custom build (#10199).\n// This module is a noop if used as a regular AMD module.\n// eslint-disable-next-line no-unused-vars\nvar jQuery=$;/*!\n * jQuery Color Animations v2.2.0\n * https://github.com/jquery/jquery-color\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * Date: Sun May 10 09:02:36 2020 +0200\n */var stepHooks=\"backgroundColor borderBottomColor borderLeftColor borderRightColor \"+\"borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor\",class2type={},toString=class2type.toString,// plusequals test for += 100 -= 100\nrplusequals=/^([\\-+])=\\s*(\\d+\\.?\\d*)/,// a set of RE's that can match strings and generate color tuples.\nstringParsers=[{re:/rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,parse:function parse(execResult){return[execResult[1],execResult[2],execResult[3],execResult[4]];}},{re:/rgba?\\(\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,parse:function parse(execResult){return[execResult[1]*2.55,execResult[2]*2.55,execResult[3]*2.55,execResult[4]];}},{// this regex ignores A-F because it's compared against an already lowercased string\nre:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?/,parse:function parse(execResult){return[parseInt(execResult[1],16),parseInt(execResult[2],16),parseInt(execResult[3],16),execResult[4]?(parseInt(execResult[4],16)/255).toFixed(2):1];}},{// this regex ignores A-F because it's compared against an already lowercased string\nre:/#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?/,parse:function parse(execResult){return[parseInt(execResult[1]+execResult[1],16),parseInt(execResult[2]+execResult[2],16),parseInt(execResult[3]+execResult[3],16),execResult[4]?(parseInt(execResult[4]+execResult[4],16)/255).toFixed(2):1];}},{re:/hsla?\\(\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,space:\"hsla\",parse:function parse(execResult){return[execResult[1],execResult[2]/100,execResult[3]/100,execResult[4]];}}],// jQuery.Color( )\ncolor=jQuery.Color=function(color,green,blue,alpha){return new jQuery.Color.fn.parse(color,green,blue,alpha);},spaces={rgba:{props:{red:{idx:0,type:\"byte\"},green:{idx:1,type:\"byte\"},blue:{idx:2,type:\"byte\"}}},hsla:{props:{hue:{idx:0,type:\"degrees\"},saturation:{idx:1,type:\"percent\"},lightness:{idx:2,type:\"percent\"}}}},propTypes={\"byte\":{floor:true,max:255},\"percent\":{max:1},\"degrees\":{mod:360,floor:true}},support=color.support={},// element for support tests\nsupportElem=jQuery(\"

\")[0],// colors = jQuery.Color.names\ncolors,// local aliases of functions called often\neach=jQuery.each;// determine rgba support immediately\nsupportElem.style.cssText=\"background-color:rgba(1,1,1,.5)\";support.rgba=supportElem.style.backgroundColor.indexOf(\"rgba\")>-1;// define cache name and alpha properties\n// for rgba and hsla spaces\neach(spaces,function(spaceName,space){space.cache=\"_\"+spaceName;space.props.alpha={idx:3,type:\"percent\",def:1};});// Populate the class2type map\njQuery.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(_i,name){class2type[\"[object \"+name+\"]\"]=name.toLowerCase();});function getType(obj){if(obj==null){return obj+\"\";}return _typeof(obj)===\"object\"?class2type[toString.call(obj)]||\"object\":_typeof(obj);}function clamp(value,prop,allowEmpty){var type=propTypes[prop.type]||{};if(value==null){return allowEmpty||!prop.def?null:prop.def;}// ~~ is an short way of doing floor for positive numbers\nvalue=type.floor?~~value:parseFloat(value);// IE will pass in empty strings as value for alpha,\n// which will hit this case\nif(isNaN(value)){return prop.def;}if(type.mod){// we add mod before modding to make sure that negatives values\n// get converted properly: -10 -> 350\nreturn(value+type.mod)%type.mod;}// for now all property types without mod have min and max\nreturn Math.min(type.max,Math.max(0,value));}function stringParse(string){var inst=color(),rgba=inst._rgba=[];string=string.toLowerCase();each(stringParsers,function(_i,parser){var parsed,match=parser.re.exec(string),values=match&&parser.parse(match),spaceName=parser.space||\"rgba\";if(values){parsed=inst[spaceName](values);// if this was an rgba parse the assignment might happen twice\n// oh well....\ninst[spaces[spaceName].cache]=parsed[spaces[spaceName].cache];rgba=inst._rgba=parsed._rgba;// exit each( stringParsers ) here because we matched\nreturn false;}});// Found a stringParser that handled it\nif(rgba.length){// if this came from a parsed string, force \"transparent\" when alpha is 0\n// chrome, (and maybe others) return \"transparent\" as rgba(0,0,0,0)\nif(rgba.join()===\"0,0,0,0\"){jQuery.extend(rgba,colors.transparent);}return inst;}// named colors\nreturn colors[string];}color.fn=jQuery.extend(color.prototype,{parse:function parse(red,green,blue,alpha){if(red===undefined){this._rgba=[null,null,null,null];return this;}if(red.jquery||red.nodeType){red=jQuery(red).css(green);green=undefined;}var inst=this,type=getType(red),rgba=this._rgba=[];// more than 1 argument specified - assume ( red, green, blue, alpha )\nif(green!==undefined){red=[red,green,blue,alpha];type=\"array\";}if(type===\"string\"){return this.parse(stringParse(red)||colors._default);}if(type===\"array\"){each(spaces.rgba.props,function(_key,prop){rgba[prop.idx]=clamp(red[prop.idx],prop);});return this;}if(type===\"object\"){if(red instanceof color){each(spaces,function(_spaceName,space){if(red[space.cache]){inst[space.cache]=red[space.cache].slice();}});}else{each(spaces,function(_spaceName,space){var cache=space.cache;each(space.props,function(key,prop){// if the cache doesn't exist, and we know how to convert\nif(!inst[cache]&&space.to){// if the value was null, we don't need to copy it\n// if the key was alpha, we don't need to copy it either\nif(key===\"alpha\"||red[key]==null){return;}inst[cache]=space.to(inst._rgba);}// this is the only case where we allow nulls for ALL properties.\n// call clamp with alwaysAllowEmpty\ninst[cache][prop.idx]=clamp(red[key],prop,true);});// everything defined but alpha?\nif(inst[cache]&&jQuery.inArray(null,inst[cache].slice(0,3))<0){// use the default of 1\nif(inst[cache][3]==null){inst[cache][3]=1;}if(space.from){inst._rgba=space.from(inst[cache]);}}});}return this;}},is:function is(compare){var is=color(compare),same=true,inst=this;each(spaces,function(_,space){var localCache,isCache=is[space.cache];if(isCache){localCache=inst[space.cache]||space.to&&space.to(inst._rgba)||[];each(space.props,function(_,prop){if(isCache[prop.idx]!=null){same=isCache[prop.idx]===localCache[prop.idx];return same;}});}return same;});return same;},_space:function _space(){var used=[],inst=this;each(spaces,function(spaceName,space){if(inst[space.cache]){used.push(spaceName);}});return used.pop();},transition:function transition(other,distance){var end=color(other),spaceName=end._space(),space=spaces[spaceName],startColor=this.alpha()===0?color(\"transparent\"):this,start=startColor[space.cache]||space.to(startColor._rgba),result=start.slice();end=end[space.cache];each(space.props,function(_key,prop){var index=prop.idx,startValue=start[index],endValue=end[index],type=propTypes[prop.type]||{};// if null, don't override start value\nif(endValue===null){return;}// if null - use end\nif(startValue===null){result[index]=endValue;}else{if(type.mod){if(endValue-startValue>type.mod/2){startValue+=type.mod;}else if(startValue-endValue>type.mod/2){startValue-=type.mod;}}result[index]=clamp((endValue-startValue)*distance+startValue,prop);}});return this[spaceName](result);},blend:function blend(opaque){// if we are already opaque - return ourself\nif(this._rgba[3]===1){return this;}var rgb=this._rgba.slice(),a=rgb.pop(),blend=color(opaque)._rgba;return color(jQuery.map(rgb,function(v,i){return(1-a)*blend[i]+a*v;}));},toRgbaString:function toRgbaString(){var prefix=\"rgba(\",rgba=jQuery.map(this._rgba,function(v,i){if(v!=null){return v;}return i>2?1:0;});if(rgba[3]===1){rgba.pop();prefix=\"rgb(\";}return prefix+rgba.join()+\")\";},toHslaString:function toHslaString(){var prefix=\"hsla(\",hsla=jQuery.map(this.hsla(),function(v,i){if(v==null){v=i>2?1:0;}// catch 1 and 2\nif(i&&i<3){v=Math.round(v*100)+\"%\";}return v;});if(hsla[3]===1){hsla.pop();prefix=\"hsl(\";}return prefix+hsla.join()+\")\";},toHexString:function toHexString(includeAlpha){var rgba=this._rgba.slice(),alpha=rgba.pop();if(includeAlpha){rgba.push(~~(alpha*255));}return\"#\"+jQuery.map(rgba,function(v){// default to 0 when nulls exist\nv=(v||0).toString(16);return v.length===1?\"0\"+v:v;}).join(\"\");},toString:function toString(){return this._rgba[3]===0?\"transparent\":this.toRgbaString();}});color.fn.parse.prototype=color.fn;// hsla conversions adapted from:\n// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021\nfunction hue2rgb(p,q,h){h=(h+1)%1;if(h*6<1){return p+(q-p)*h*6;}if(h*2<1){return q;}if(h*3<2){return p+(q-p)*(2/3-h)*6;}return p;}spaces.hsla.to=function(rgba){if(rgba[0]==null||rgba[1]==null||rgba[2]==null){return[null,null,null,rgba[3]];}var r=rgba[0]/255,g=rgba[1]/255,b=rgba[2]/255,a=rgba[3],max=Math.max(r,g,b),min=Math.min(r,g,b),diff=max-min,add=max+min,l=add*0.5,h,s;if(min===max){h=0;}else if(r===max){h=60*(g-b)/diff+360;}else if(g===max){h=60*(b-r)/diff+120;}else{h=60*(r-g)/diff+240;}// chroma (diff) == 0 means greyscale which, by definition, saturation = 0%\n// otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)\nif(diff===0){s=0;}else if(l<=0.5){s=diff/add;}else{s=diff/(2-add);}return[Math.round(h)%360,s,l,a==null?1:a];};spaces.hsla.from=function(hsla){if(hsla[0]==null||hsla[1]==null||hsla[2]==null){return[null,null,null,hsla[3]];}var h=hsla[0]/360,s=hsla[1],l=hsla[2],a=hsla[3],q=l<=0.5?l*(1+s):l+s-l*s,p=2*l-q;return[Math.round(hue2rgb(p,q,h+1/3)*255),Math.round(hue2rgb(p,q,h)*255),Math.round(hue2rgb(p,q,h-1/3)*255),a];};each(spaces,function(spaceName,space){var props=space.props,cache=space.cache,to=space.to,from=space.from;// makes rgba() and hsla()\ncolor.fn[spaceName]=function(value){// generate a cache for this space if it doesn't exist\nif(to&&!this[cache]){this[cache]=to(this._rgba);}if(value===undefined){return this[cache].slice();}var ret,type=getType(value),arr=type===\"array\"||type===\"object\"?value:arguments,local=this[cache].slice();each(props,function(key,prop){var val=arr[type===\"object\"?key:prop.idx];if(val==null){val=local[prop.idx];}local[prop.idx]=clamp(val,prop);});if(from){ret=color(from(local));ret[cache]=local;return ret;}else{return color(local);}};// makes red() green() blue() alpha() hue() saturation() lightness()\neach(props,function(key,prop){// alpha is included in more than one space\nif(color.fn[key]){return;}color.fn[key]=function(value){var local,cur,match,fn,vtype=getType(value);if(key===\"alpha\"){fn=this._hsla?\"hsla\":\"rgba\";}else{fn=spaceName;}local=this[fn]();cur=local[prop.idx];if(vtype===\"undefined\"){return cur;}if(vtype===\"function\"){value=value.call(this,cur);vtype=getType(value);}if(value==null&&prop.empty){return this;}if(vtype===\"string\"){match=rplusequals.exec(value);if(match){value=cur+parseFloat(match[2])*(match[1]===\"+\"?1:-1);}}local[prop.idx]=value;return this[fn](local);};});});// add cssHook and .fx.step function for each named hook.\n// accept a space separated string of properties\ncolor.hook=function(hook){var hooks=hook.split(\" \");each(hooks,function(_i,hook){jQuery.cssHooks[hook]={set:function set(elem,value){var parsed,curElem,backgroundColor=\"\";if(value!==\"transparent\"&&(getType(value)!==\"string\"||(parsed=stringParse(value)))){value=color(parsed||value);if(!support.rgba&&value._rgba[3]!==1){curElem=hook===\"backgroundColor\"?elem.parentNode:elem;while((backgroundColor===\"\"||backgroundColor===\"transparent\")&&curElem&&curElem.style){try{backgroundColor=jQuery.css(curElem,\"backgroundColor\");curElem=curElem.parentNode;}catch(e){}}value=value.blend(backgroundColor&&backgroundColor!==\"transparent\"?backgroundColor:\"_default\");}value=value.toRgbaString();}try{elem.style[hook]=value;}catch(e){// wrapped to prevent IE from throwing errors on \"invalid\" values like 'auto' or 'inherit'\n}}};jQuery.fx.step[hook]=function(fx){if(!fx.colorInit){fx.start=color(fx.elem,hook);fx.end=color(fx.end);fx.colorInit=true;}jQuery.cssHooks[hook].set(fx.elem,fx.start.transition(fx.end,fx.pos));};});};color.hook(stepHooks);jQuery.cssHooks.borderColor={expand:function expand(value){var expanded={};each([\"Top\",\"Right\",\"Bottom\",\"Left\"],function(_i,part){expanded[\"border\"+part+\"Color\"]=value;});return expanded;}};// Basic color names only.\n// Usage of any of the other color names requires adding yourself or including\n// jquery.color.svg-names.js.\ncolors=jQuery.Color.names={// 4.1. Basic color keywords\naqua:\"#00ffff\",black:\"#000000\",blue:\"#0000ff\",fuchsia:\"#ff00ff\",gray:\"#808080\",green:\"#008000\",lime:\"#00ff00\",maroon:\"#800000\",navy:\"#000080\",olive:\"#808000\",purple:\"#800080\",red:\"#ff0000\",silver:\"#c0c0c0\",teal:\"#008080\",white:\"#ffffff\",yellow:\"#ffff00\",// 4.2.3. \"transparent\" color keyword\ntransparent:[null,null,null,0],_default:\"#ffffff\"};/*!\n * jQuery UI Effects 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Effects Core\n//>>group: Effects\n/* eslint-disable max-len *///>>description: Extends the internal jQuery effects. Includes morphing and easing. Required by all other effects.\n/* eslint-enable max-len *///>>docs: http://api.jqueryui.com/category/effects-core/\n//>>demos: http://jqueryui.com/effect/\nvar dataSpace=\"ui-effects-\",dataSpaceStyle=\"ui-effects-style\",dataSpaceAnimated=\"ui-effects-animated\";$.effects={effect:{}};/******************************************************************************//****************************** CLASS ANIMATIONS ******************************//******************************************************************************/(function(){var classAnimationActions=[\"add\",\"remove\",\"toggle\"],shorthandStyles={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};$.each([\"borderLeftStyle\",\"borderRightStyle\",\"borderBottomStyle\",\"borderTopStyle\"],function(_,prop){$.fx.step[prop]=function(fx){if(fx.end!==\"none\"&&!fx.setAttr||fx.pos===1&&!fx.setAttr){jQuery.style(fx.elem,prop,fx.end);fx.setAttr=true;}};});function camelCase(string){return string.replace(/-([\\da-z])/gi,function(all,letter){return letter.toUpperCase();});}function getElementStyles(elem){var key,len,style=elem.ownerDocument.defaultView?elem.ownerDocument.defaultView.getComputedStyle(elem,null):elem.currentStyle,styles={};if(style&&style.length&&style[0]&&style[style[0]]){len=style.length;while(len--){key=style[len];if(typeof style[key]===\"string\"){styles[camelCase(key)]=style[key];}}// Support: Opera, IE <9\n}else{for(key in style){if(typeof style[key]===\"string\"){styles[key]=style[key];}}}return styles;}function styleDifference(oldStyle,newStyle){var diff={},name,value;for(name in newStyle){value=newStyle[name];if(oldStyle[name]!==value){if(!shorthandStyles[name]){if($.fx.step[name]||!isNaN(parseFloat(value))){diff[name]=value;}}}}return diff;}// Support: jQuery <1.8\nif(!$.fn.addBack){$.fn.addBack=function(selector){return this.add(selector==null?this.prevObject:this.prevObject.filter(selector));};}$.effects.animateClass=function(value,duration,easing,callback){var o=$.speed(duration,easing,callback);return this.queue(function(){var animated=$(this),baseClass=animated.attr(\"class\")||\"\",applyClassChange,allAnimations=o.children?animated.find(\"*\").addBack():animated;// Map the animated objects to store the original styles.\nallAnimations=allAnimations.map(function(){var el=$(this);return{el:el,start:getElementStyles(this)};});// Apply class change\napplyClassChange=function applyClassChange(){$.each(classAnimationActions,function(i,action){if(value[action]){animated[action+\"Class\"](value[action]);}});};applyClassChange();// Map all animated objects again - calculate new styles and diff\nallAnimations=allAnimations.map(function(){this.end=getElementStyles(this.el[0]);this.diff=styleDifference(this.start,this.end);return this;});// Apply original class\nanimated.attr(\"class\",baseClass);// Map all animated objects again - this time collecting a promise\nallAnimations=allAnimations.map(function(){var styleInfo=this,dfd=$.Deferred(),opts=$.extend({},o,{queue:false,complete:function complete(){dfd.resolve(styleInfo);}});this.el.animate(this.diff,opts);return dfd.promise();});// Once all animations have completed:\n$.when.apply($,allAnimations.get()).done(function(){// Set the final class\napplyClassChange();// For each animated element,\n// clear all css properties that were animated\n$.each(arguments,function(){var el=this.el;$.each(this.diff,function(key){el.css(key,\"\");});});// This is guarnteed to be there if you use jQuery.speed()\n// it also handles dequeuing the next anim...\no.complete.call(animated[0]);});});};$.fn.extend({addClass:function(orig){return function(classNames,speed,easing,callback){return speed?$.effects.animateClass.call(this,{add:classNames},speed,easing,callback):orig.apply(this,arguments);};}($.fn.addClass),removeClass:function(orig){return function(classNames,speed,easing,callback){return arguments.length>1?$.effects.animateClass.call(this,{remove:classNames},speed,easing,callback):orig.apply(this,arguments);};}($.fn.removeClass),toggleClass:function(orig){return function(classNames,force,speed,easing,callback){if(typeof force===\"boolean\"||force===undefined){if(!speed){// Without speed parameter\nreturn orig.apply(this,arguments);}else{return $.effects.animateClass.call(this,force?{add:classNames}:{remove:classNames},speed,easing,callback);}}else{// Without force parameter\nreturn $.effects.animateClass.call(this,{toggle:classNames},force,speed,easing);}};}($.fn.toggleClass),switchClass:function switchClass(remove,add,speed,easing,callback){return $.effects.animateClass.call(this,{add:add,remove:remove},speed,easing,callback);}});})();/******************************************************************************//*********************************** EFFECTS **********************************//******************************************************************************/(function(){if($.expr&&$.expr.pseudos&&$.expr.pseudos.animated){$.expr.pseudos.animated=function(orig){return function(elem){return!!$(elem).data(dataSpaceAnimated)||orig(elem);};}($.expr.pseudos.animated);}if($.uiBackCompat!==false){$.extend($.effects,{// Saves a set of properties in a data storage\nsave:function save(element,set){var i=0,length=set.length;for(;i

\").addClass(\"ui-effects-wrapper\").css({fontSize:\"100%\",background:\"transparent\",border:\"none\",margin:0,padding:0}),// Store the size in case width/height are defined in % - Fixes #5245\nsize={width:element.width(),height:element.height()},active=document.activeElement;// Support: Firefox\n// Firefox incorrectly exposes anonymous content\n// https://bugzilla.mozilla.org/show_bug.cgi?id=561664\ntry{// eslint-disable-next-line no-unused-expressions\nactive.id;}catch(e){active=document.body;}element.wrap(wrapper);// Fixes #7595 - Elements lose focus when wrapped.\nif(element[0]===active||$.contains(element[0],active)){$(active).trigger(\"focus\");}// Hotfix for jQuery 1.4 since some change in wrap() seems to actually\n// lose the reference to the wrapped element\nwrapper=element.parent();// Transfer positioning properties to the wrapper\nif(element.css(\"position\")===\"static\"){wrapper.css({position:\"relative\"});element.css({position:\"relative\"});}else{$.extend(props,{position:element.css(\"position\"),zIndex:element.css(\"z-index\")});$.each([\"top\",\"left\",\"bottom\",\"right\"],function(i,pos){props[pos]=element.css(pos);if(isNaN(parseInt(props[pos],10))){props[pos]=\"auto\";}});element.css({position:\"relative\",top:0,left:0,right:\"auto\",bottom:\"auto\"});}element.css(size);return wrapper.css(props).show();},removeWrapper:function removeWrapper(element){var active=document.activeElement;if(element.parent().is(\".ui-effects-wrapper\")){element.parent().replaceWith(element);// Fixes #7595 - Elements lose focus when wrapped.\nif(element[0]===active||$.contains(element[0],active)){$(active).trigger(\"focus\");}}return element;}});}$.extend($.effects,{version:\"1.13.2\",define:function define(name,mode,effect){if(!effect){effect=mode;mode=\"effect\";}$.effects.effect[name]=effect;$.effects.effect[name].mode=mode;return effect;},scaledDimensions:function scaledDimensions(element,percent,direction){if(percent===0){return{height:0,width:0,outerHeight:0,outerWidth:0};}var x=direction!==\"horizontal\"?(percent||100)/100:1,y=direction!==\"vertical\"?(percent||100)/100:1;return{height:element.height()*y,width:element.width()*x,outerHeight:element.outerHeight()*y,outerWidth:element.outerWidth()*x};},clipToBox:function clipToBox(animation){return{width:animation.clip.right-animation.clip.left,height:animation.clip.bottom-animation.clip.top,left:animation.clip.left,top:animation.clip.top};},// Injects recently queued functions to be first in line (after \"inprogress\")\nunshift:function unshift(element,queueLength,count){var queue=element.queue();if(queueLength>1){queue.splice.apply(queue,[1,0].concat(queue.splice(queueLength,count)));}element.dequeue();},saveStyle:function saveStyle(element){element.data(dataSpaceStyle,element[0].style.cssText);},restoreStyle:function restoreStyle(element){element[0].style.cssText=element.data(dataSpaceStyle)||\"\";element.removeData(dataSpaceStyle);},mode:function mode(element,_mode){var hidden=element.is(\":hidden\");if(_mode===\"toggle\"){_mode=hidden?\"show\":\"hide\";}if(hidden?_mode===\"hide\":_mode===\"show\"){_mode=\"none\";}return _mode;},// Translates a [top,left] array into a baseline value\ngetBaseline:function getBaseline(origin,original){var y,x;switch(origin[0]){case\"top\":y=0;break;case\"middle\":y=0.5;break;case\"bottom\":y=1;break;default:y=origin[0]/original.height;}switch(origin[1]){case\"left\":x=0;break;case\"center\":x=0.5;break;case\"right\":x=1;break;default:x=origin[1]/original.width;}return{x:x,y:y};},// Creates a placeholder element so that the original element can be made absolute\ncreatePlaceholder:function createPlaceholder(element){var placeholder,cssPosition=element.css(\"position\"),position=element.position();// Lock in margins first to account for form elements, which\n// will change margin if you explicitly set height\n// see: http://jsfiddle.net/JZSMt/3/ https://bugs.webkit.org/show_bug.cgi?id=107380\n// Support: Safari\nelement.css({marginTop:element.css(\"marginTop\"),marginBottom:element.css(\"marginBottom\"),marginLeft:element.css(\"marginLeft\"),marginRight:element.css(\"marginRight\")}).outerWidth(element.outerWidth()).outerHeight(element.outerHeight());if(/^(static|relative)/.test(cssPosition)){cssPosition=\"absolute\";placeholder=$(\"<\"+element[0].nodeName+\">\").insertAfter(element).css({// Convert inline to inline block to account for inline elements\n// that turn to inline block based on content (like img)\ndisplay:/^(inline|ruby)/.test(element.css(\"display\"))?\"inline-block\":\"block\",visibility:\"hidden\",// Margins need to be set to account for margin collapse\nmarginTop:element.css(\"marginTop\"),marginBottom:element.css(\"marginBottom\"),marginLeft:element.css(\"marginLeft\"),marginRight:element.css(\"marginRight\"),\"float\":element.css(\"float\")}).outerWidth(element.outerWidth()).outerHeight(element.outerHeight()).addClass(\"ui-effects-placeholder\");element.data(dataSpace+\"placeholder\",placeholder);}element.css({position:cssPosition,left:position.left,top:position.top});return placeholder;},removePlaceholder:function removePlaceholder(element){var dataKey=dataSpace+\"placeholder\",placeholder=element.data(dataKey);if(placeholder){placeholder.remove();element.removeData(dataKey);}},// Removes a placeholder if it exists and restores\n// properties that were modified during placeholder creation\ncleanUp:function cleanUp(element){$.effects.restoreStyle(element);$.effects.removePlaceholder(element);},setTransition:function setTransition(element,list,factor,value){value=value||{};$.each(list,function(i,x){var unit=element.cssUnit(x);if(unit[0]>0){value[x]=unit[0]*factor+unit[1];}});return value;}});// Return an effect options object for the given parameters:\nfunction _normalizeArguments(effect,options,speed,callback){// Allow passing all options as the first parameter\nif($.isPlainObject(effect)){options=effect;effect=effect.effect;}// Convert to an object\neffect={effect:effect};// Catch (effect, null, ...)\nif(options==null){options={};}// Catch (effect, callback)\nif(typeof options===\"function\"){callback=options;speed=null;options={};}// Catch (effect, speed, ?)\nif(typeof options===\"number\"||$.fx.speeds[options]){callback=speed;speed=options;options={};}// Catch (effect, options, callback)\nif(typeof speed===\"function\"){callback=speed;speed=null;}// Add options to effect\nif(options){$.extend(effect,options);}speed=speed||options.duration;effect.duration=$.fx.off?0:typeof speed===\"number\"?speed:speed in $.fx.speeds?$.fx.speeds[speed]:$.fx.speeds._default;effect.complete=callback||options.complete;return effect;}function standardAnimationOption(option){// Valid standard speeds (nothing, number, named speed)\nif(!option||typeof option===\"number\"||$.fx.speeds[option]){return true;}// Invalid strings - treat as \"normal\" speed\nif(typeof option===\"string\"&&!$.effects.effect[option]){return true;}// Complete callback\nif(typeof option===\"function\"){return true;}// Options hash (but not naming an effect)\nif(_typeof(option)===\"object\"&&!option.effect){return true;}// Didn't match any standard API\nreturn false;}$.fn.extend({effect:function effect(/* effect, options, speed, callback */){var args=_normalizeArguments.apply(this,arguments),effectMethod=$.effects.effect[args.effect],defaultMode=effectMethod.mode,queue=args.queue,queueName=queue||\"fx\",complete=args.complete,mode=args.mode,modes=[],prefilter=function prefilter(next){var el=$(this),normalizedMode=$.effects.mode(el,mode)||defaultMode;// Sentinel for duck-punching the :animated pseudo-selector\nel.data(dataSpaceAnimated,true);// Save effect mode for later use,\n// we can't just call $.effects.mode again later,\n// as the .show() below destroys the initial state\nmodes.push(normalizedMode);// See $.uiBackCompat inside of run() for removal of defaultMode in 1.14\nif(defaultMode&&(normalizedMode===\"show\"||normalizedMode===defaultMode&&normalizedMode===\"hide\")){el.show();}if(!defaultMode||normalizedMode!==\"none\"){$.effects.saveStyle(el);}if(typeof next===\"function\"){next();}};if($.fx.off||!effectMethod){// Delegate to the original method (e.g., .show()) if possible\nif(mode){return this[mode](args.duration,complete);}else{return this.each(function(){if(complete){complete.call(this);}});}}function run(next){var elem=$(this);function cleanup(){elem.removeData(dataSpaceAnimated);$.effects.cleanUp(elem);if(args.mode===\"hide\"){elem.hide();}done();}function done(){if(typeof complete===\"function\"){complete.call(elem[0]);}if(typeof next===\"function\"){next();}}// Override mode option on a per element basis,\n// as toggle can be either show or hide depending on element state\nargs.mode=modes.shift();if($.uiBackCompat!==false&&!defaultMode){if(elem.is(\":hidden\")?mode===\"hide\":mode===\"show\"){// Call the core method to track \"olddisplay\" properly\nelem[mode]();done();}else{effectMethod.call(elem[0],args,done);}}else{if(args.mode===\"none\"){// Call the core method to track \"olddisplay\" properly\nelem[mode]();done();}else{effectMethod.call(elem[0],args,cleanup);}}}// Run prefilter on all elements first to ensure that\n// any showing or hiding happens before placeholder creation,\n// which ensures that any layout changes are correctly captured.\nreturn queue===false?this.each(prefilter).each(run):this.queue(queueName,prefilter).queue(queueName,run);},show:function(orig){return function(option){if(standardAnimationOption(option)){return orig.apply(this,arguments);}else{var args=_normalizeArguments.apply(this,arguments);args.mode=\"show\";return this.effect.call(this,args);}};}($.fn.show),hide:function(orig){return function(option){if(standardAnimationOption(option)){return orig.apply(this,arguments);}else{var args=_normalizeArguments.apply(this,arguments);args.mode=\"hide\";return this.effect.call(this,args);}};}($.fn.hide),toggle:function(orig){return function(option){if(standardAnimationOption(option)||typeof option===\"boolean\"){return orig.apply(this,arguments);}else{var args=_normalizeArguments.apply(this,arguments);args.mode=\"toggle\";return this.effect.call(this,args);}};}($.fn.toggle),cssUnit:function cssUnit(key){var style=this.css(key),val=[];$.each([\"em\",\"px\",\"%\",\"pt\"],function(i,unit){if(style.indexOf(unit)>0){val=[parseFloat(style),unit];}});return val;},cssClip:function cssClip(clipObj){if(clipObj){return this.css(\"clip\",\"rect(\"+clipObj.top+\"px \"+clipObj.right+\"px \"+clipObj.bottom+\"px \"+clipObj.left+\"px)\");}return parseClip(this.css(\"clip\"),this);},transfer:function transfer(options,done){var element=$(this),target=$(options.to),targetFixed=target.css(\"position\")===\"fixed\",body=$(\"body\"),fixTop=targetFixed?body.scrollTop():0,fixLeft=targetFixed?body.scrollLeft():0,endPosition=target.offset(),animation={top:endPosition.top-fixTop,left:endPosition.left-fixLeft,height:target.innerHeight(),width:target.innerWidth()},startPosition=element.offset(),transfer=$(\"
\");transfer.appendTo(\"body\").addClass(options.className).css({top:startPosition.top-fixTop,left:startPosition.left-fixLeft,height:element.innerHeight(),width:element.innerWidth(),position:targetFixed?\"fixed\":\"absolute\"}).animate(animation,options.duration,options.easing,function(){transfer.remove();if(typeof done===\"function\"){done();}});}});function parseClip(str,element){var outerWidth=element.outerWidth(),outerHeight=element.outerHeight(),clipRegex=/^rect\\((-?\\d*\\.?\\d*px|-?\\d+%|auto),?\\s*(-?\\d*\\.?\\d*px|-?\\d+%|auto),?\\s*(-?\\d*\\.?\\d*px|-?\\d+%|auto),?\\s*(-?\\d*\\.?\\d*px|-?\\d+%|auto)\\)$/,values=clipRegex.exec(str)||[\"\",0,outerWidth,outerHeight,0];return{top:parseFloat(values[1])||0,right:values[2]===\"auto\"?outerWidth:parseFloat(values[2]),bottom:values[3]===\"auto\"?outerHeight:parseFloat(values[3]),left:parseFloat(values[4])||0};}$.fx.step.clip=function(fx){if(!fx.clipInit){fx.start=$(fx.elem).cssClip();if(typeof fx.end===\"string\"){fx.end=parseClip(fx.end,fx.elem);}fx.clipInit=true;}$(fx.elem).cssClip({top:fx.pos*(fx.end.top-fx.start.top)+fx.start.top,right:fx.pos*(fx.end.right-fx.start.right)+fx.start.right,bottom:fx.pos*(fx.end.bottom-fx.start.bottom)+fx.start.bottom,left:fx.pos*(fx.end.left-fx.start.left)+fx.start.left});};})();/******************************************************************************//*********************************** EASING ***********************************//******************************************************************************/(function(){// Based on easing equations from Robert Penner (http://www.robertpenner.com/easing)\nvar baseEasings={};$.each([\"Quad\",\"Cubic\",\"Quart\",\"Quint\",\"Expo\"],function(i,name){baseEasings[name]=function(p){return Math.pow(p,i+2);};});$.extend(baseEasings,{Sine:function Sine(p){return 1-Math.cos(p*Math.PI/2);},Circ:function Circ(p){return 1-Math.sqrt(1-p*p);},Elastic:function Elastic(p){return p===0||p===1?p:-Math.pow(2,8*(p-1))*Math.sin(((p-1)*80-7.5)*Math.PI/15);},Back:function Back(p){return p*p*(3*p-2);},Bounce:function Bounce(p){var pow2,bounce=4;while(p<((pow2=Math.pow(2,--bounce))-1)/11){}return 1/Math.pow(4,3-bounce)-7.5625*Math.pow((pow2*3-2)/22-p,2);}});$.each(baseEasings,function(name,easeIn){$.easing[\"easeIn\"+name]=easeIn;$.easing[\"easeOut\"+name]=function(p){return 1-easeIn(1-p);};$.easing[\"easeInOut\"+name]=function(p){return p<0.5?easeIn(p*2)/2:1-easeIn(p*-2+2)/2;};});})();var effect=$.effects;/*!\n * jQuery UI Effects Blind 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Blind Effect\n//>>group: Effects\n//>>description: Blinds the element.\n//>>docs: http://api.jqueryui.com/blind-effect/\n//>>demos: http://jqueryui.com/effect/\nvar effectsEffectBlind=$.effects.define(\"blind\",\"hide\",function(options,done){var map={up:[\"bottom\",\"top\"],vertical:[\"bottom\",\"top\"],down:[\"top\",\"bottom\"],left:[\"right\",\"left\"],horizontal:[\"right\",\"left\"],right:[\"left\",\"right\"]},element=$(this),direction=options.direction||\"up\",start=element.cssClip(),animate={clip:$.extend({},start)},placeholder=$.effects.createPlaceholder(element);animate.clip[map[direction][0]]=animate.clip[map[direction][1]];if(options.mode===\"show\"){element.cssClip(animate.clip);if(placeholder){placeholder.css($.effects.clipToBox(animate));}animate.clip=start;}if(placeholder){placeholder.animate($.effects.clipToBox(animate),options.duration,options.easing);}element.animate(animate,{queue:false,duration:options.duration,easing:options.easing,complete:done});});/*!\n * jQuery UI Effects Bounce 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Bounce Effect\n//>>group: Effects\n//>>description: Bounces an element horizontally or vertically n times.\n//>>docs: http://api.jqueryui.com/bounce-effect/\n//>>demos: http://jqueryui.com/effect/\nvar effectsEffectBounce=$.effects.define(\"bounce\",function(options,done){var upAnim,downAnim,refValue,element=$(this),// Defaults:\nmode=options.mode,hide=mode===\"hide\",show=mode===\"show\",direction=options.direction||\"up\",distance=options.distance,times=options.times||5,// Number of internal animations\nanims=times*2+(show||hide?1:0),speed=options.duration/anims,easing=options.easing,// Utility:\nref=direction===\"up\"||direction===\"down\"?\"top\":\"left\",motion=direction===\"up\"||direction===\"left\",i=0,queuelen=element.queue().length;$.effects.createPlaceholder(element);refValue=element.css(ref);// Default distance for the BIGGEST bounce is the outer Distance / 3\nif(!distance){distance=element[ref===\"top\"?\"outerHeight\":\"outerWidth\"]()/3;}if(show){downAnim={opacity:1};downAnim[ref]=refValue;// If we are showing, force opacity 0 and set the initial position\n// then do the \"first\" animation\nelement.css(\"opacity\",0).css(ref,motion?-distance*2:distance*2).animate(downAnim,speed,easing);}// Start at the smallest distance if we are hiding\nif(hide){distance=distance/Math.pow(2,times-1);}downAnim={};downAnim[ref]=refValue;// Bounces up/down/left/right then back to 0 -- times * 2 animations happen here\nfor(;i>label: Clip Effect\n//>>group: Effects\n//>>description: Clips the element on and off like an old TV.\n//>>docs: http://api.jqueryui.com/clip-effect/\n//>>demos: http://jqueryui.com/effect/\nvar effectsEffectClip=$.effects.define(\"clip\",\"hide\",function(options,done){var start,animate={},element=$(this),direction=options.direction||\"vertical\",both=direction===\"both\",horizontal=both||direction===\"horizontal\",vertical=both||direction===\"vertical\";start=element.cssClip();animate.clip={top:vertical?(start.bottom-start.top)/2:start.top,right:horizontal?(start.right-start.left)/2:start.right,bottom:vertical?(start.bottom-start.top)/2:start.bottom,left:horizontal?(start.right-start.left)/2:start.left};$.effects.createPlaceholder(element);if(options.mode===\"show\"){element.cssClip(animate.clip);animate.clip=start;}element.animate(animate,{queue:false,duration:options.duration,easing:options.easing,complete:done});});/*!\n * jQuery UI Effects Drop 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Drop Effect\n//>>group: Effects\n//>>description: Moves an element in one direction and hides it at the same time.\n//>>docs: http://api.jqueryui.com/drop-effect/\n//>>demos: http://jqueryui.com/effect/\nvar effectsEffectDrop=$.effects.define(\"drop\",\"hide\",function(options,done){var distance,element=$(this),mode=options.mode,show=mode===\"show\",direction=options.direction||\"left\",ref=direction===\"up\"||direction===\"down\"?\"top\":\"left\",motion=direction===\"up\"||direction===\"left\"?\"-=\":\"+=\",oppositeMotion=motion===\"+=\"?\"-=\":\"+=\",animation={opacity:0};$.effects.createPlaceholder(element);distance=options.distance||element[ref===\"top\"?\"outerHeight\":\"outerWidth\"](true)/2;animation[ref]=motion+distance;if(show){element.css(animation);animation[ref]=oppositeMotion+distance;animation.opacity=1;}// Animate\nelement.animate(animation,{queue:false,duration:options.duration,easing:options.easing,complete:done});});/*!\n * jQuery UI Effects Explode 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Explode Effect\n//>>group: Effects\n/* eslint-disable max-len *///>>description: Explodes an element in all directions into n pieces. Implodes an element to its original wholeness.\n/* eslint-enable max-len *///>>docs: http://api.jqueryui.com/explode-effect/\n//>>demos: http://jqueryui.com/effect/\nvar effectsEffectExplode=$.effects.define(\"explode\",\"hide\",function(options,done){var i,j,left,top,mx,my,rows=options.pieces?Math.round(Math.sqrt(options.pieces)):3,cells=rows,element=$(this),mode=options.mode,show=mode===\"show\",// Show and then visibility:hidden the element before calculating offset\noffset=element.show().css(\"visibility\",\"hidden\").offset(),// Width and height of a piece\nwidth=Math.ceil(element.outerWidth()/cells),height=Math.ceil(element.outerHeight()/rows),pieces=[];// Children animate complete:\nfunction childComplete(){pieces.push(this);if(pieces.length===rows*cells){animComplete();}}// Clone the element for each row and cell.\nfor(i=0;i\ntop=offset.top+i*height;my=i-(rows-1)/2;for(j=0;j
\").css({position:\"absolute\",visibility:\"visible\",left:-j*width,top:-i*height})// Select the wrapper - make it overflow: hidden and absolute positioned based on\n// where the original was located +left and +top equal to the size of pieces\n.parent().addClass(\"ui-effects-explode\").css({position:\"absolute\",overflow:\"hidden\",width:width,height:height,left:left+(show?mx*width:0),top:top+(show?my*height:0),opacity:show?0:1}).animate({left:left+(show?0:mx*width),top:top+(show?0:my*height),opacity:show?1:0},options.duration||500,options.easing,childComplete);}}function animComplete(){element.css({visibility:\"visible\"});$(pieces).remove();done();}});/*!\n * jQuery UI Effects Fade 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Fade Effect\n//>>group: Effects\n//>>description: Fades the element.\n//>>docs: http://api.jqueryui.com/fade-effect/\n//>>demos: http://jqueryui.com/effect/\nvar effectsEffectFade=$.effects.define(\"fade\",\"toggle\",function(options,done){var show=options.mode===\"show\";$(this).css(\"opacity\",show?0:1).animate({opacity:show?1:0},{queue:false,duration:options.duration,easing:options.easing,complete:done});});/*!\n * jQuery UI Effects Fold 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Fold Effect\n//>>group: Effects\n//>>description: Folds an element first horizontally and then vertically.\n//>>docs: http://api.jqueryui.com/fold-effect/\n//>>demos: http://jqueryui.com/effect/\nvar effectsEffectFold=$.effects.define(\"fold\",\"hide\",function(options,done){// Create element\nvar element=$(this),mode=options.mode,show=mode===\"show\",hide=mode===\"hide\",size=options.size||15,percent=/([0-9]+)%/.exec(size),horizFirst=!!options.horizFirst,ref=horizFirst?[\"right\",\"bottom\"]:[\"bottom\",\"right\"],duration=options.duration/2,placeholder=$.effects.createPlaceholder(element),start=element.cssClip(),animation1={clip:$.extend({},start)},animation2={clip:$.extend({},start)},distance=[start[ref[0]],start[ref[1]]],queuelen=element.queue().length;if(percent){size=parseInt(percent[1],10)/100*distance[hide?0:1];}animation1.clip[ref[0]]=size;animation2.clip[ref[0]]=size;animation2.clip[ref[1]]=0;if(show){element.cssClip(animation2.clip);if(placeholder){placeholder.css($.effects.clipToBox(animation2));}animation2.clip=start;}// Animate\nelement.queue(function(next){if(placeholder){placeholder.animate($.effects.clipToBox(animation1),duration,options.easing).animate($.effects.clipToBox(animation2),duration,options.easing);}next();}).animate(animation1,duration,options.easing).animate(animation2,duration,options.easing).queue(done);$.effects.unshift(element,queuelen,4);});/*!\n * jQuery UI Effects Highlight 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Highlight Effect\n//>>group: Effects\n//>>description: Highlights the background of an element in a defined color for a custom duration.\n//>>docs: http://api.jqueryui.com/highlight-effect/\n//>>demos: http://jqueryui.com/effect/\nvar effectsEffectHighlight=$.effects.define(\"highlight\",\"show\",function(options,done){var element=$(this),animation={backgroundColor:element.css(\"backgroundColor\")};if(options.mode===\"hide\"){animation.opacity=0;}$.effects.saveStyle(element);element.css({backgroundImage:\"none\",backgroundColor:options.color||\"#ffff99\"}).animate(animation,{queue:false,duration:options.duration,easing:options.easing,complete:done});});/*!\n * jQuery UI Effects Size 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Size Effect\n//>>group: Effects\n//>>description: Resize an element to a specified width and height.\n//>>docs: http://api.jqueryui.com/size-effect/\n//>>demos: http://jqueryui.com/effect/\nvar effectsEffectSize=$.effects.define(\"size\",function(options,done){// Create element\nvar baseline,factor,temp,element=$(this),// Copy for children\ncProps=[\"fontSize\"],vProps=[\"borderTopWidth\",\"borderBottomWidth\",\"paddingTop\",\"paddingBottom\"],hProps=[\"borderLeftWidth\",\"borderRightWidth\",\"paddingLeft\",\"paddingRight\"],// Set options\nmode=options.mode,restore=mode!==\"effect\",scale=options.scale||\"both\",origin=options.origin||[\"middle\",\"center\"],position=element.css(\"position\"),pos=element.position(),original=$.effects.scaledDimensions(element),from=options.from||original,to=options.to||$.effects.scaledDimensions(element,0);$.effects.createPlaceholder(element);if(mode===\"show\"){temp=from;from=to;to=temp;}// Set scaling factor\nfactor={from:{y:from.height/original.height,x:from.width/original.width},to:{y:to.height/original.height,x:to.width/original.width}};// Scale the css box\nif(scale===\"box\"||scale===\"both\"){// Vertical props scaling\nif(factor.from.y!==factor.to.y){from=$.effects.setTransition(element,vProps,factor.from.y,from);to=$.effects.setTransition(element,vProps,factor.to.y,to);}// Horizontal props scaling\nif(factor.from.x!==factor.to.x){from=$.effects.setTransition(element,hProps,factor.from.x,from);to=$.effects.setTransition(element,hProps,factor.to.x,to);}}// Scale the content\nif(scale===\"content\"||scale===\"both\"){// Vertical props scaling\nif(factor.from.y!==factor.to.y){from=$.effects.setTransition(element,cProps,factor.from.y,from);to=$.effects.setTransition(element,cProps,factor.to.y,to);}}// Adjust the position properties based on the provided origin points\nif(origin){baseline=$.effects.getBaseline(origin,original);from.top=(original.outerHeight-from.outerHeight)*baseline.y+pos.top;from.left=(original.outerWidth-from.outerWidth)*baseline.x+pos.left;to.top=(original.outerHeight-to.outerHeight)*baseline.y+pos.top;to.left=(original.outerWidth-to.outerWidth)*baseline.x+pos.left;}delete from.outerHeight;delete from.outerWidth;element.css(from);// Animate the children if desired\nif(scale===\"content\"||scale===\"both\"){vProps=vProps.concat([\"marginTop\",\"marginBottom\"]).concat(cProps);hProps=hProps.concat([\"marginLeft\",\"marginRight\"]);// Only animate children with width attributes specified\n// TODO: is this right? should we include anything with css width specified as well\nelement.find(\"*[width]\").each(function(){var child=$(this),childOriginal=$.effects.scaledDimensions(child),childFrom={height:childOriginal.height*factor.from.y,width:childOriginal.width*factor.from.x,outerHeight:childOriginal.outerHeight*factor.from.y,outerWidth:childOriginal.outerWidth*factor.from.x},childTo={height:childOriginal.height*factor.to.y,width:childOriginal.width*factor.to.x,outerHeight:childOriginal.height*factor.to.y,outerWidth:childOriginal.width*factor.to.x};// Vertical props scaling\nif(factor.from.y!==factor.to.y){childFrom=$.effects.setTransition(child,vProps,factor.from.y,childFrom);childTo=$.effects.setTransition(child,vProps,factor.to.y,childTo);}// Horizontal props scaling\nif(factor.from.x!==factor.to.x){childFrom=$.effects.setTransition(child,hProps,factor.from.x,childFrom);childTo=$.effects.setTransition(child,hProps,factor.to.x,childTo);}if(restore){$.effects.saveStyle(child);}// Animate children\nchild.css(childFrom);child.animate(childTo,options.duration,options.easing,function(){// Restore children\nif(restore){$.effects.restoreStyle(child);}});});}// Animate\nelement.animate(to,{queue:false,duration:options.duration,easing:options.easing,complete:function complete(){var offset=element.offset();if(to.opacity===0){element.css(\"opacity\",from.opacity);}if(!restore){element.css(\"position\",position===\"static\"?\"relative\":position).offset(offset);// Need to save style here so that automatic style restoration\n// doesn't restore to the original styles from before the animation.\n$.effects.saveStyle(element);}done();}});});/*!\n * jQuery UI Effects Scale 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Scale Effect\n//>>group: Effects\n//>>description: Grows or shrinks an element and its content.\n//>>docs: http://api.jqueryui.com/scale-effect/\n//>>demos: http://jqueryui.com/effect/\nvar effectsEffectScale=$.effects.define(\"scale\",function(options,done){// Create element\nvar el=$(this),mode=options.mode,percent=parseInt(options.percent,10)||(parseInt(options.percent,10)===0?0:mode!==\"effect\"?0:100),newOptions=$.extend(true,{from:$.effects.scaledDimensions(el),to:$.effects.scaledDimensions(el,percent,options.direction||\"both\"),origin:options.origin||[\"middle\",\"center\"]},options);// Fade option to support puff\nif(options.fade){newOptions.from.opacity=1;newOptions.to.opacity=0;}$.effects.effect.size.call(this,newOptions,done);});/*!\n * jQuery UI Effects Puff 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Puff Effect\n//>>group: Effects\n//>>description: Creates a puff effect by scaling the element up and hiding it at the same time.\n//>>docs: http://api.jqueryui.com/puff-effect/\n//>>demos: http://jqueryui.com/effect/\nvar effectsEffectPuff=$.effects.define(\"puff\",\"hide\",function(options,done){var newOptions=$.extend(true,{},options,{fade:true,percent:parseInt(options.percent,10)||150});$.effects.effect.scale.call(this,newOptions,done);});/*!\n * jQuery UI Effects Pulsate 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Pulsate Effect\n//>>group: Effects\n//>>description: Pulsates an element n times by changing the opacity to zero and back.\n//>>docs: http://api.jqueryui.com/pulsate-effect/\n//>>demos: http://jqueryui.com/effect/\nvar effectsEffectPulsate=$.effects.define(\"pulsate\",\"show\",function(options,done){var element=$(this),mode=options.mode,show=mode===\"show\",hide=mode===\"hide\",showhide=show||hide,// Showing or hiding leaves off the \"last\" animation\nanims=(options.times||5)*2+(showhide?1:0),duration=options.duration/anims,animateTo=0,i=1,queuelen=element.queue().length;if(show||!element.is(\":visible\")){element.css(\"opacity\",0).show();animateTo=1;}// Anims - 1 opacity \"toggles\"\nfor(;i>label: Shake Effect\n//>>group: Effects\n//>>description: Shakes an element horizontally or vertically n times.\n//>>docs: http://api.jqueryui.com/shake-effect/\n//>>demos: http://jqueryui.com/effect/\nvar effectsEffectShake=$.effects.define(\"shake\",function(options,done){var i=1,element=$(this),direction=options.direction||\"left\",distance=options.distance||20,times=options.times||3,anims=times*2+1,speed=Math.round(options.duration/anims),ref=direction===\"up\"||direction===\"down\"?\"top\":\"left\",positiveMotion=direction===\"up\"||direction===\"left\",animation={},animation1={},animation2={},queuelen=element.queue().length;$.effects.createPlaceholder(element);// Animation\nanimation[ref]=(positiveMotion?\"-=\":\"+=\")+distance;animation1[ref]=(positiveMotion?\"+=\":\"-=\")+distance*2;animation2[ref]=(positiveMotion?\"-=\":\"+=\")+distance*2;// Animate\nelement.animate(animation,speed,options.easing);// Shakes\nfor(;i>label: Slide Effect\n//>>group: Effects\n//>>description: Slides an element in and out of the viewport.\n//>>docs: http://api.jqueryui.com/slide-effect/\n//>>demos: http://jqueryui.com/effect/\nvar effectsEffectSlide=$.effects.define(\"slide\",\"show\",function(options,done){var startClip,startRef,element=$(this),map={up:[\"bottom\",\"top\"],down:[\"top\",\"bottom\"],left:[\"right\",\"left\"],right:[\"left\",\"right\"]},mode=options.mode,direction=options.direction||\"left\",ref=direction===\"up\"||direction===\"down\"?\"top\":\"left\",positiveMotion=direction===\"up\"||direction===\"left\",distance=options.distance||element[ref===\"top\"?\"outerHeight\":\"outerWidth\"](true),animation={};$.effects.createPlaceholder(element);startClip=element.cssClip();startRef=element.position()[ref];// Define hide animation\nanimation[ref]=(positiveMotion?-1:1)*distance+startRef;animation.clip=element.cssClip();animation.clip[map[direction][1]]=animation.clip[map[direction][0]];// Reverse the animation if we're showing\nif(mode===\"show\"){element.cssClip(animation.clip);element.css(ref,animation[ref]);animation.clip=startClip;animation[ref]=startRef;}// Actually animate\nelement.animate(animation,{queue:false,duration:options.duration,easing:options.easing,complete:done});});/*!\n * jQuery UI Effects Transfer 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Transfer Effect\n//>>group: Effects\n//>>description: Displays a transfer effect from one element to another.\n//>>docs: http://api.jqueryui.com/transfer-effect/\n//>>demos: http://jqueryui.com/effect/\nvar effect;if($.uiBackCompat!==false){effect=$.effects.define(\"transfer\",function(options,done){$(this).transfer(options,done);});}var effectsEffectTransfer=effect;/*!\n * jQuery UI Focusable 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: :focusable Selector\n//>>group: Core\n//>>description: Selects elements which can be focused.\n//>>docs: http://api.jqueryui.com/focusable-selector/\n// Selectors\n$.ui.focusable=function(element,hasTabindex){var map,mapName,img,focusableIfVisible,fieldset,nodeName=element.nodeName.toLowerCase();if(\"area\"===nodeName){map=element.parentNode;mapName=map.name;if(!element.href||!mapName||map.nodeName.toLowerCase()!==\"map\"){return false;}img=$(\"img[usemap='#\"+mapName+\"']\");return img.length>0&&img.is(\":visible\");}if(/^(input|select|textarea|button|object)$/.test(nodeName)){focusableIfVisible=!element.disabled;if(focusableIfVisible){// Form controls within a disabled fieldset are disabled.\n// However, controls within the fieldset's legend do not get disabled.\n// Since controls generally aren't placed inside legends, we skip\n// this portion of the check.\nfieldset=$(element).closest(\"fieldset\")[0];if(fieldset){focusableIfVisible=!fieldset.disabled;}}}else if(\"a\"===nodeName){focusableIfVisible=element.href||hasTabindex;}else{focusableIfVisible=hasTabindex;}return focusableIfVisible&&$(element).is(\":visible\")&&visible($(element));};// Support: IE 8 only\n// IE 8 doesn't resolve inherit to visible/hidden for computed values\nfunction visible(element){var visibility=element.css(\"visibility\");while(visibility===\"inherit\"){element=element.parent();visibility=element.css(\"visibility\");}return visibility===\"visible\";}$.extend($.expr.pseudos,{focusable:function focusable(element){return $.ui.focusable(element,$.attr(element,\"tabindex\")!=null);}});var focusable=$.ui.focusable;// Support: IE8 Only\n// IE8 does not support the form attribute and when it is supplied. It overwrites the form prop\n// with a string, so we need to find the proper form.\nvar form=$.fn._form=function(){return typeof this[0].form===\"string\"?this.closest(\"form\"):$(this[0].form);};/*!\n * jQuery UI Form Reset Mixin 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Form Reset Mixin\n//>>group: Core\n//>>description: Refresh input widgets when their form is reset\n//>>docs: http://api.jqueryui.com/form-reset-mixin/\nvar formResetMixin=$.ui.formResetMixin={_formResetHandler:function _formResetHandler(){var form=$(this);// Wait for the form reset to actually happen before refreshing\nsetTimeout(function(){var instances=form.data(\"ui-form-reset-instances\");$.each(instances,function(){this.refresh();});});},_bindFormResetHandler:function _bindFormResetHandler(){this.form=this.element._form();if(!this.form.length){return;}var instances=this.form.data(\"ui-form-reset-instances\")||[];if(!instances.length){// We don't use _on() here because we use a single event handler per form\nthis.form.on(\"reset.ui-form-reset\",this._formResetHandler);}instances.push(this);this.form.data(\"ui-form-reset-instances\",instances);},_unbindFormResetHandler:function _unbindFormResetHandler(){if(!this.form.length){return;}var instances=this.form.data(\"ui-form-reset-instances\");instances.splice($.inArray(this,instances),1);if(instances.length){this.form.data(\"ui-form-reset-instances\",instances);}else{this.form.removeData(\"ui-form-reset-instances\").off(\"reset.ui-form-reset\");}}};/*!\n * jQuery UI Support for jQuery core 1.8.x and newer 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n *///>>label: jQuery 1.8+ Support\n//>>group: Core\n//>>description: Support version 1.8.x and newer of jQuery core\n// Support: jQuery 1.9.x or older\n// $.expr[ \":\" ] is deprecated.\nif(!$.expr.pseudos){$.expr.pseudos=$.expr[\":\"];}// Support: jQuery 1.11.x or older\n// $.unique has been renamed to $.uniqueSort\nif(!$.uniqueSort){$.uniqueSort=$.unique;}// Support: jQuery 2.2.x or older.\n// This method has been defined in jQuery 3.0.0.\n// Code from https://github.com/jquery/jquery/blob/e539bac79e666bba95bba86d690b4e609dca2286/src/selector/escapeSelector.js\nif(!$.escapeSelector){// CSS string/identifier serialization\n// https://drafts.csswg.org/cssom/#common-serializing-idioms\nvar rcssescape=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g;var fcssescape=function fcssescape(ch,asCodePoint){if(asCodePoint){// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\nif(ch===\"\\0\"){return\"\\uFFFD\";}// Control characters and (dependent upon position) numbers get escaped as code points\nreturn ch.slice(0,-1)+\"\\\\\"+ch.charCodeAt(ch.length-1).toString(16)+\" \";}// Other potentially-special ASCII characters get backslash-escaped\nreturn\"\\\\\"+ch;};$.escapeSelector=function(sel){return(sel+\"\").replace(rcssescape,fcssescape);};}// Support: jQuery 3.4.x or older\n// These methods have been defined in jQuery 3.5.0.\nif(!$.fn.even||!$.fn.odd){$.fn.extend({even:function even(){return this.filter(function(i){return i%2===0;});},odd:function odd(){return this.filter(function(i){return i%2===1;});}});};/*!\n * jQuery UI Keycode 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Keycode\n//>>group: Core\n//>>description: Provide keycodes as keynames\n//>>docs: http://api.jqueryui.com/jQuery.ui.keyCode/\nvar keycode=$.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38};/*!\n * jQuery UI Labels 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: labels\n//>>group: Core\n//>>description: Find all the labels associated with a given input\n//>>docs: http://api.jqueryui.com/labels/\nvar labels=$.fn.labels=function(){var ancestor,selector,id,labels,ancestors;if(!this.length){return this.pushStack([]);}// Check control.labels first\nif(this[0].labels&&this[0].labels.length){return this.pushStack(this[0].labels);}// Support: IE <= 11, FF <= 37, Android <= 2.3 only\n// Above browsers do not support control.labels. Everything below is to support them\n// as well as document fragments. control.labels does not work on document fragments\nlabels=this.eq(0).parents(\"label\");// Look for the label based on the id\nid=this.attr(\"id\");if(id){// We don't search against the document in case the element\n// is disconnected from the DOM\nancestor=this.eq(0).parents().last();// Get a full set of top level ancestors\nancestors=ancestor.add(ancestor.length?ancestor.siblings():this.siblings());// Create a selector for the label based on the id\nselector=\"label[for='\"+$.escapeSelector(id)+\"']\";labels=labels.add(ancestors.find(selector).addBack(selector));}// Return whatever we have found for labels\nreturn this.pushStack(labels);};/*!\n * jQuery UI Scroll Parent 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: scrollParent\n//>>group: Core\n//>>description: Get the closest ancestor element that is scrollable.\n//>>docs: http://api.jqueryui.com/scrollParent/\nvar scrollParent=$.fn.scrollParent=function(includeHidden){var position=this.css(\"position\"),excludeStaticParent=position===\"absolute\",overflowRegex=includeHidden?/(auto|scroll|hidden)/:/(auto|scroll)/,scrollParent=this.parents().filter(function(){var parent=$(this);if(excludeStaticParent&&parent.css(\"position\")===\"static\"){return false;}return overflowRegex.test(parent.css(\"overflow\")+parent.css(\"overflow-y\")+parent.css(\"overflow-x\"));}).eq(0);return position===\"fixed\"||!scrollParent.length?$(this[0].ownerDocument||document):scrollParent;};/*!\n * jQuery UI Tabbable 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: :tabbable Selector\n//>>group: Core\n//>>description: Selects elements which can be tabbed to.\n//>>docs: http://api.jqueryui.com/tabbable-selector/\nvar tabbable=$.extend($.expr.pseudos,{tabbable:function tabbable(element){var tabIndex=$.attr(element,\"tabindex\"),hasTabindex=tabIndex!=null;return(!hasTabindex||tabIndex>=0)&&$.ui.focusable(element,hasTabindex);}});/*!\n * jQuery UI Unique ID 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: uniqueId\n//>>group: Core\n//>>description: Functions to generate and remove uniqueId's\n//>>docs: http://api.jqueryui.com/uniqueId/\nvar uniqueId=$.fn.extend({uniqueId:function(){var uuid=0;return function(){return this.each(function(){if(!this.id){this.id=\"ui-id-\"+ ++uuid;}});};}(),removeUniqueId:function removeUniqueId(){return this.each(function(){if(/^ui-id-\\d+$/.test(this.id)){$(this).removeAttr(\"id\");}});}});/*!\n * jQuery UI Accordion 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *///>>label: Accordion\n//>>group: Widgets\n/* eslint-disable max-len *///>>description: Displays collapsible content panels for presenting information in a limited amount of space.\n/* eslint-enable max-len *///>>docs: http://api.jqueryui.com/accordion/\n//>>demos: http://jqueryui.com/accordion/\n//>>css.structure: ../../themes/base/core.css\n//>>css.structure: ../../themes/base/accordion.css\n//>>css.theme: ../../themes/base/theme.css\nvar widgetsAccordion=$.widget(\"ui.accordion\",{version:\"1.13.2\",options:{active:0,animate:{},classes:{\"ui-accordion-header\":\"ui-corner-top\",\"ui-accordion-header-collapsed\":\"ui-corner-all\",\"ui-accordion-content\":\"ui-corner-bottom\"},collapsible:false,event:\"click\",header:function header(elem){return elem.find(\"> li > :first-child\").add(elem.find(\"> :not(li)\").even());},heightStyle:\"auto\",icons:{activeHeader:\"ui-icon-triangle-1-s\",header:\"ui-icon-triangle-1-e\"},// Callbacks\nactivate:null,beforeActivate:null},hideProps:{borderTopWidth:\"hide\",borderBottomWidth:\"hide\",paddingTop:\"hide\",paddingBottom:\"hide\",height:\"hide\"},showProps:{borderTopWidth:\"show\",borderBottomWidth:\"show\",paddingTop:\"show\",paddingBottom:\"show\",height:\"show\"},_create:function _create(){var options=this.options;this.prevShow=this.prevHide=$();this._addClass(\"ui-accordion\",\"ui-widget ui-helper-reset\");this.element.attr(\"role\",\"tablist\");// Don't allow collapsible: false and active: false / null\nif(!options.collapsible&&(options.active===false||options.active==null)){options.active=0;}this._processPanels();// handle negative values\nif(options.active<0){options.active+=this.headers.length;}this._refresh();},_getCreateEventData:function _getCreateEventData(){return{header:this.active,panel:!this.active.length?$():this.active.next()};},_createIcons:function _createIcons(){var icon,children,icons=this.options.icons;if(icons){icon=$(\"\");this._addClass(icon,\"ui-accordion-header-icon\",\"ui-icon \"+icons.header);icon.prependTo(this.headers);children=this.active.children(\".ui-accordion-header-icon\");this._removeClass(children,icons.header)._addClass(children,null,icons.activeHeader)._addClass(this.headers,\"ui-accordion-icons\");}},_destroyIcons:function _destroyIcons(){this._removeClass(this.headers,\"ui-accordion-icons\");this.headers.children(\".ui-accordion-header-icon\").remove();},_destroy:function _destroy(){var contents;// Clean up main element\nthis.element.removeAttr(\"role\");// Clean up headers\nthis.headers.removeAttr(\"role aria-expanded aria-selected aria-controls tabIndex\").removeUniqueId();this._destroyIcons();// Clean up content panels\ncontents=this.headers.next().css(\"display\",\"\").removeAttr(\"role aria-hidden aria-labelledby\").removeUniqueId();if(this.options.heightStyle!==\"content\"){contents.css(\"height\",\"\");}},_setOption:function _setOption(key,value){if(key===\"active\"){// _activate() will handle invalid values and update this.options\nthis._activate(value);return;}if(key===\"event\"){if(this.options.event){this._off(this.headers,this.options.event);}this._setupEvents(value);}this._super(key,value);// Setting collapsible: false while collapsed; open first panel\nif(key===\"collapsible\"&&!value&&this.options.active===false){this._activate(0);}if(key===\"icons\"){this._destroyIcons();if(value){this._createIcons();}}},_setOptionDisabled:function _setOptionDisabled(value){this._super(value);this.element.attr(\"aria-disabled\",value);// Support: IE8 Only\n// #5332 / #6059 - opacity doesn't cascade to positioned elements in IE\n// so we need to add the disabled class to the headers and panels\nthis._toggleClass(null,\"ui-state-disabled\",!!value);this._toggleClass(this.headers.add(this.headers.next()),null,\"ui-state-disabled\",!!value);},_keydown:function _keydown(event){if(event.altKey||event.ctrlKey){return;}var keyCode=$.ui.keyCode,length=this.headers.length,currentIndex=this.headers.index(event.target),toFocus=false;switch(event.keyCode){case keyCode.RIGHT:case keyCode.DOWN:toFocus=this.headers[(currentIndex+1)%length];break;case keyCode.LEFT:case keyCode.UP:toFocus=this.headers[(currentIndex-1+length)%length];break;case keyCode.SPACE:case keyCode.ENTER:this._eventHandler(event);break;case keyCode.HOME:toFocus=this.headers[0];break;case keyCode.END:toFocus=this.headers[length-1];break;}if(toFocus){$(event.target).attr(\"tabIndex\",-1);$(toFocus).attr(\"tabIndex\",0);$(toFocus).trigger(\"focus\");event.preventDefault();}},_panelKeyDown:function _panelKeyDown(event){if(event.keyCode===$.ui.keyCode.UP&&event.ctrlKey){$(event.currentTarget).prev().trigger(\"focus\");}},refresh:function refresh(){var options=this.options;this._processPanels();// Was collapsed or no panel\nif(options.active===false&&options.collapsible===true||!this.headers.length){options.active=false;this.active=$();// active false only when collapsible is true\n}else if(options.active===false){this._activate(0);// was active, but active panel is gone\n}else if(this.active.length&&!$.contains(this.element[0],this.active[0])){// all remaining panel are disabled\nif(this.headers.length===this.headers.find(\".ui-state-disabled\").length){options.active=false;this.active=$();// activate previous panel\n}else{this._activate(Math.max(0,options.active-1));}// was active, active panel still exists\n}else{// make sure active index is correct\noptions.active=this.headers.index(this.active);}this._destroyIcons();this._refresh();},_processPanels:function _processPanels(){var prevHeaders=this.headers,prevPanels=this.panels;if(typeof this.options.header===\"function\"){this.headers=this.options.header(this.element);}else{this.headers=this.element.find(this.options.header);}this._addClass(this.headers,\"ui-accordion-header ui-accordion-header-collapsed\",\"ui-state-default\");this.panels=this.headers.next().filter(\":not(.ui-accordion-content-active)\").hide();this._addClass(this.panels,\"ui-accordion-content\",\"ui-helper-reset ui-widget-content\");// Avoid memory leaks (#10056)\nif(prevPanels){this._off(prevHeaders.not(this.headers));this._off(prevPanels.not(this.panels));}},_refresh:function _refresh(){var maxHeight,options=this.options,heightStyle=options.heightStyle,parent=this.element.parent();this.active=this._findActive(options.active);this._addClass(this.active,\"ui-accordion-header-active\",\"ui-state-active\")._removeClass(this.active,\"ui-accordion-header-collapsed\");this._addClass(this.active.next(),\"ui-accordion-content-active\");this.active.next().show();this.headers.attr(\"role\",\"tab\").each(function(){var header=$(this),headerId=header.uniqueId().attr(\"id\"),panel=header.next(),panelId=panel.uniqueId().attr(\"id\");header.attr(\"aria-controls\",panelId);panel.attr(\"aria-labelledby\",headerId);}).next().attr(\"role\",\"tabpanel\");this.headers.not(this.active).attr({\"aria-selected\":\"false\",\"aria-expanded\":\"false\",tabIndex:-1}).next().attr({\"aria-hidden\":\"true\"}).hide();// Make sure at least one header is in the tab order\nif(!this.active.length){this.headers.eq(0).attr(\"tabIndex\",0);}else{this.active.attr({\"aria-selected\":\"true\",\"aria-expanded\":\"true\",tabIndex:0}).next().attr({\"aria-hidden\":\"false\"});}this._createIcons();this._setupEvents(options.event);if(heightStyle===\"fill\"){maxHeight=parent.height();this.element.siblings(\":visible\").each(function(){var elem=$(this),position=elem.css(\"position\");if(position===\"absolute\"||position===\"fixed\"){return;}maxHeight-=elem.outerHeight(true);});this.headers.each(function(){maxHeight-=$(this).outerHeight(true);});this.headers.next().each(function(){$(this).height(Math.max(0,maxHeight-$(this).innerHeight()+$(this).height()));}).css(\"overflow\",\"auto\");}else if(heightStyle===\"auto\"){maxHeight=0;this.headers.next().each(function(){var isVisible=$(this).is(\":visible\");if(!isVisible){$(this).show();}maxHeight=Math.max(maxHeight,$(this).css(\"height\",\"\").height());if(!isVisible){$(this).hide();}}).height(maxHeight);}},_activate:function _activate(index){var active=this._findActive(index)[0];// Trying to activate the already active panel\nif(active===this.active[0]){return;}// Trying to collapse, simulate a click on the currently active header\nactive=active||this.active[0];this._eventHandler({target:active,currentTarget:active,preventDefault:$.noop});},_findActive:function _findActive(selector){return typeof selector===\"number\"?this.headers.eq(selector):$();},_setupEvents:function _setupEvents(event){var events={keydown:\"_keydown\"};if(event){$.each(event.split(\" \"),function(index,eventName){events[eventName]=\"_eventHandler\";});}this._off(this.headers.add(this.headers.next()));this._on(this.headers,events);this._on(this.headers.next(),{keydown:\"_panelKeyDown\"});this._hoverable(this.headers);this._focusable(this.headers);},_eventHandler:function _eventHandler(event){var activeChildren,clickedChildren,options=this.options,active=this.active,clicked=$(event.currentTarget),clickedIsActive=clicked[0]===active[0],collapsing=clickedIsActive&&options.collapsible,toShow=collapsing?$():clicked.next(),toHide=active.next(),eventData={oldHeader:active,oldPanel:toHide,newHeader:collapsing?$():clicked,newPanel:toShow};event.preventDefault();if(// click on active header, but not collapsible\nclickedIsActive&&!options.collapsible||// allow canceling activation\nthis._trigger(\"beforeActivate\",event,eventData)===false){return;}options.active=collapsing?false:this.headers.index(clicked);// When the call to ._toggle() comes after the class changes\n// it causes a very odd bug in IE 8 (see #6720)\nthis.active=clickedIsActive?$():clicked;this._toggle(eventData);// Switch classes\n// corner classes on the previously active header stay after the animation\nthis._removeClass(active,\"ui-accordion-header-active\",\"ui-state-active\");if(options.icons){activeChildren=active.children(\".ui-accordion-header-icon\");this._removeClass(activeChildren,null,options.icons.activeHeader)._addClass(activeChildren,null,options.icons.header);}if(!clickedIsActive){this._removeClass(clicked,\"ui-accordion-header-collapsed\")._addClass(clicked,\"ui-accordion-header-active\",\"ui-state-active\");if(options.icons){clickedChildren=clicked.children(\".ui-accordion-header-icon\");this._removeClass(clickedChildren,null,options.icons.header)._addClass(clickedChildren,null,options.icons.activeHeader);}this._addClass(clicked.next(),\"ui-accordion-content-active\");}},_toggle:function _toggle(data){var toShow=data.newPanel,toHide=this.prevShow.length?this.prevShow:data.oldPanel;// Handle activating a panel during the animation for another activation\nthis.prevShow.add(this.prevHide).stop(true,true);this.prevShow=toShow;this.prevHide=toHide;if(this.options.animate){this._animate(toShow,toHide,data);}else{toHide.hide();toShow.show();this._toggleComplete(data);}toHide.attr({\"aria-hidden\":\"true\"});toHide.prev().attr({\"aria-selected\":\"false\",\"aria-expanded\":\"false\"});// if we're switching panels, remove the old header from the tab order\n// if we're opening from collapsed state, remove the previous header from the tab order\n// if we're collapsing, then keep the collapsing header in the tab order\nif(toShow.length&&toHide.length){toHide.prev().attr({\"tabIndex\":-1,\"aria-expanded\":\"false\"});}else if(toShow.length){this.headers.filter(function(){return parseInt($(this).attr(\"tabIndex\"),10)===0;}).attr(\"tabIndex\",-1);}toShow.attr(\"aria-hidden\",\"false\").prev().attr({\"aria-selected\":\"true\",\"aria-expanded\":\"true\",tabIndex:0});},_animate:function _animate(toShow,toHide,data){var total,easing,duration,that=this,adjust=0,boxSizing=toShow.css(\"box-sizing\"),down=toShow.length&&(!toHide.length||toShow.index()\ntry{activeElement=document.activeElement;}catch(error){activeElement=document.body;}// Support: IE 9 - 11 only\n// IE may return null instead of an element\n// Interestingly, this only seems to occur when NOT in an iframe\nif(!activeElement){activeElement=document.body;}// Support: IE 11 only\n// IE11 returns a seemingly empty object in some cases when accessing\n// document.activeElement from an ').on('load', function () {\n var fileInputClones;\n iframe.off('load').on('load', function () {\n var response;\n // Wrap in a try/catch block to catch exceptions thrown\n // when trying to access cross-domain iframe contents:\n try {\n response = iframe.contents();\n var frame = response;\n var doc = frame;\n var docRoot = $(document).find('body');\n var documentContent, isTextArea;\n // see if user embedded response in textarea\n try {\n documentContent = $($(doc).text());\n isTextArea = documentContent.is('textarea');\n } catch (e) {\n isTextArea = false;\n }\n if (isTextArea) {\n // \t\t\t\t\t\txhr.responseText = documentContent.text();\n // support for XHR 'status' & 'statusText' emulation :\n xhr.status = Number(documentContent.attr('status')) || xhr.status;\n xhr.statusText = documentContent.attr('statusText') || xhr.statusText;\n xhr.responseText = {\n 'json': documentContent.text()\n };\n } else {\n xhr.responseText = {\n 'iframe': response\n };\n // Google Chrome and Firefox do not throw an\n // exception when calling iframe.contents() on\n // cross-domain requests, so we unify the response:\n if (!response.length || !response[0].firstChild) {\n throw new Error();\n }\n }\n } catch (e) {\n response = undefined;\n }\n // The complete callback returns the\n // iframe content document as response object:\n completeCallback(xhr.status, xhr.statusText, xhr.responseText);\n // Fix for IE endless progress bar activity bug\n // (happens on form submits to iframe targets):\n $('').appendTo(form);\n form.remove();\n });\n form.prop('target', iframe.prop('name')).prop('action', options.url).prop('method', options.type);\n if (options.formData) {\n $.each(options.formData, function (index, field) {\n $('').prop('name', field.name).val(field.value).appendTo(form);\n });\n }\n if (options.fileInput && options.fileInput.length && options.type === 'POST') {\n fileInputClones = options.fileInput.clone();\n // Insert a clone for each file input field:\n options.fileInput.after(function (index) {\n return fileInputClones[index];\n });\n if (options.paramName) {\n options.fileInput.each(function () {\n $(this).prop('name', options.paramName);\n });\n }\n // Appending the file input fields to the hidden form\n // removes them from their original location:\n form.append(options.fileInput).prop('enctype', 'multipart/form-data')\n // enctype must be set as encoding for IE:\n .prop('encoding', 'multipart/form-data');\n }\n form.submit();\n // Insert the file input fields at their original location\n // by replacing the clones with the originals:\n if (fileInputClones && fileInputClones.length) {\n options.fileInput.each(function (index, input) {\n var clone = $(fileInputClones[index]);\n $(input).prop('name', clone.prop('name'));\n clone.replaceWith(input);\n });\n }\n });\n form.append(iframe).appendTo(document.body);\n },\n abort: function abort() {\n if (iframe) {\n // javascript:false as iframe src aborts the request\n // and prevents warning popups on HTTPS in IE6.\n // concat is used to avoid the \"Script URL\" JSLint error:\n iframe.off('load').prop('src', 'javascript'.concat(':false;'));\n }\n if (form) {\n form.remove();\n }\n }\n };\n }\n });\n\n // The iframe transport returns the iframe content document as response.\n // The following adds converters from iframe to text, json, html, and script:\n $.ajaxSetup({\n converters: {\n 'iframe text': function iframeText(iframe) {\n return iframe.find('body').text();\n },\n 'iframe json': function iframeJson(iframe) {\n return JSON.parse(iframe.find('body').text());\n },\n 'iframe html': function iframeHtml(iframe) {\n return iframe.find('body').html();\n },\n 'iframe script': function iframeScript(iframe) {\n return $.globalEval(iframe.find('body').text());\n }\n }\n });\n})(jQuery);\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack://rup/./src/core/utils/jquery.iframe-transport.js?"); +eval("/* WEBPACK VAR INJECTION */(function(jQuery) {/*\r\n * jQuery Iframe Transport Plugin 1.2.4\r\n * https://github.com/blueimp/jQuery-File-Upload\r\n *\r\n * Copyright 2011, Sebastian Tschan\r\n * https://blueimp.net\r\n *\r\n * Licensed under the MIT license:\r\n * http://creativecommons.org/licenses/MIT/\r\n */\n\n/*jslint unparam: true, nomen: true */\n/*global jQuery, document */\n\n(function ($) {\n 'use strict';\n\n // Helper variable to create unique names for the transport iframes:\n var counter = 0;\n\n // The iframe transport accepts three additional options:\n // options.fileInput: a jQuery collection of file input fields\n // options.paramName: the parameter name for the file form data,\n // overrides the name property of the file input field(s)\n // options.formData: an array of objects with name and value properties,\n // equivalent to the return data of .serializeArray(), e.g.:\n // [{name: 'a', value: 1}, {name: 'b', value: 2}]\n $.ajaxTransport('iframe', function (options) {\n if (options.async && (options.type === 'POST' || options.type === 'GET')) {\n var form, iframe;\n return {\n send: function send(_, completeCallback) {\n form = $('
');\n // javascript:false as initial iframe src\n // prevents warning popups on HTTPS in IE6.\n // IE versions below IE8 cannot set the name property of\n // elements that have already been added to the DOM,\n // so we set the name along with the iframe HTML markup:\n\n if (options.url.indexOf('emulate_iframe_http_status') !== -1 && options.dataType.indexOf('iframe') !== -1) {\n options.dataType = options.dataType.split(' ')[1];\n options.dataTypes = options.dataTypes.slice(1);\n }\n var xhr = {\n // mock object\n aborted: 0,\n responseText: null,\n responseXML: null,\n status: 200,\n statusText: 'success',\n getAllResponseHeaders: function getAllResponseHeaders() {},\n getResponseHeader: function getResponseHeader() {},\n setRequestHeader: function setRequestHeader() {},\n abort: function abort(status) {\n var e = status === 'timeout' ? 'timeout' : 'aborted';\n log('aborting upload... ' + e);\n this.aborted = 1;\n $io.attr('src', s.iframeSrc); // abort op in progress\n xhr.error = e;\n s.error && s.error.call(s.context, xhr, e, status);\n g && $.event.trigger('ajaxError', [xhr, s, e]);\n s.complete && s.complete.call(s.context, xhr, e);\n }\n };\n iframe = $('').on('load', function () {\n var fileInputClones;\n iframe.off('load').on('load', function () {\n var response;\n // Wrap in a try/catch block to catch exceptions thrown\n // when trying to access cross-domain iframe contents:\n try {\n response = iframe.contents();\n var frame = response;\n var doc = frame;\n var docRoot = $(document).find('body');\n var documentContent, isTextArea;\n // see if user embedded response in textarea\n try {\n documentContent = $($(doc).text());\n isTextArea = documentContent.is('textarea');\n } catch (e) {\n isTextArea = false;\n }\n if (isTextArea) {\n // \t\t\t\t\t\txhr.responseText = documentContent.text();\n // support for XHR 'status' & 'statusText' emulation :\n xhr.status = Number(documentContent.attr('status')) || xhr.status;\n xhr.statusText = documentContent.attr('statusText') || xhr.statusText;\n xhr.responseText = {\n 'json': documentContent.text()\n };\n } else {\n xhr.responseText = {\n 'iframe': response\n };\n // Google Chrome and Firefox do not throw an\n // exception when calling iframe.contents() on\n // cross-domain requests, so we unify the response:\n if (!response.length || !response[0].firstChild) {\n throw new Error();\n }\n }\n } catch (e) {\n response = undefined;\n }\n // The complete callback returns the\n // iframe content document as response object:\n completeCallback(xhr.status, xhr.statusText, xhr.responseText);\n // Fix for IE endless progress bar activity bug\n // (happens on form submits to iframe targets):\n $('').appendTo(form);\n form.remove();\n });\n form.prop('target', iframe.prop('name')).prop('action', options.url).prop('method', options.type);\n if (options.formData) {\n $.each(options.formData, function (index, field) {\n $('').prop('name', field.name).val(field.value).appendTo(form);\n });\n }\n if (options.fileInput && options.fileInput.length && options.type === 'POST') {\n fileInputClones = options.fileInput.clone();\n // Insert a clone for each file input field:\n options.fileInput.after(function (index) {\n return fileInputClones[index];\n });\n if (options.paramName) {\n options.fileInput.each(function () {\n $(this).prop('name', options.paramName);\n });\n }\n // Appending the file input fields to the hidden form\n // removes them from their original location:\n form.append(options.fileInput).prop('enctype', 'multipart/form-data')\n // enctype must be set as encoding for IE:\n .prop('encoding', 'multipart/form-data');\n }\n form.submit();\n // Insert the file input fields at their original location\n // by replacing the clones with the originals:\n if (fileInputClones && fileInputClones.length) {\n options.fileInput.each(function (index, input) {\n var clone = $(fileInputClones[index]);\n $(input).prop('name', clone.prop('name'));\n clone.replaceWith(input);\n });\n }\n });\n form.append(iframe).appendTo(document.body);\n },\n abort: function abort() {\n if (iframe) {\n // javascript:false as iframe src aborts the request\n // and prevents warning popups on HTTPS in IE6.\n // concat is used to avoid the \"Script URL\" JSLint error:\n iframe.off('load').prop('src', 'javascript'.concat(':false;'));\n }\n if (form) {\n form.remove();\n }\n }\n };\n }\n });\n\n // The iframe transport returns the iframe content document as response.\n // The following adds converters from iframe to text, json, html, and script:\n $.ajaxSetup({\n converters: {\n 'iframe text': function iframe_text(iframe) {\n return iframe.find('body').text();\n },\n 'iframe json': function iframe_json(iframe) {\n return JSON.parse(iframe.find('body').text());\n },\n 'iframe html': function iframe_html(iframe) {\n return iframe.find('body').html();\n },\n 'iframe script': function iframe_script(iframe) {\n return $.globalEval(iframe.find('body').text());\n }\n }\n });\n})(jQuery);\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack://rup/./src/core/utils/jquery.iframe-transport.js?"); /***/ }), @@ -8474,7 +8474,7 @@ eval("/* WEBPACK VAR INJECTION */(function(jQuery) {/*!\r\n * Copyright 2016 E.J /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\r\n * Copyright 2016 E.J.I.E., S.A.\r\n *\r\n * Licencia con arreglo a la EUPL, Versión 1.1 exclusivamente (la «Licencia»);\r\n * Solo podrá usarse esta obra si se respeta la Licencia.\r\n * Puede obtenerse una copia de la Licencia en\r\n *\r\n * http://ec.europa.eu/idabc/eupl.html\r\n *\r\n * Salvo cuando lo exija la legislación aplicable o se acuerde por escrito,\r\n * el programa distribuido con arreglo a la Licencia se distribuye «TAL CUAL»,\r\n * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas.\r\n * Véase la Licencia en el idioma concreto que rige los permisos y limitaciones\r\n * que establece la Licencia.\r\n */\n\n///* Evento del evento de antes de la carga de los datos */\n//\t\tvar loadBeforeSendUserEvent = settings.loadBeforeSend;\n//\t\tsettings.loadBeforeSend = function(xhr){\n//\t\t\tif(loadBeforeSendUserEvent !== null){\n//\t\t if(loadBeforeSendUserEvent(xhr) === false){\n//\t\t return false;\n//\t\t }\n//\t\t }\n//\t\t\t//console.log(\"loadBeforeSend\");\n//\t\t\t//Comportamiento por defecto del evento\n//\t\t\tloadBeforeSend_default(xhr);\n//\t\t};\n\n/**\r\n * Permite lanzar un subproceso o un mensaje de confirmación dentro de un proceso principal sin salirse de este.

Es una evolución del patrón mensaje.\r\n *\r\n * @summary Componente RUP Dialog.\r\n * @module rup_dialog\r\n * @see El componente está basado en el plugin {@link https://jqueryui.com/dialog/|jQuery UI Dialog}. Para mas información acerca de las funcionalidades y opciones de configuración pinche {@link http://api.jqueryui.com/dialog/|aquí}.\r\n * @example\r\n * var properties = {\r\n * type: $.rup.dialog.TEXT,\r\n * autoOpen: true,\r\n * modal: true,\r\n * resizable: true,\r\n * title: \"Título del dialog (text) \",\r\n * message: \"Se esta creando un div con el mensaje puesto por parametro.\"\r\n * };\r\n *\r\n * $(\"#selector\").rup_dialog(properties);\r\n */\n\n(function (factory) {\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"), __webpack_require__(/*! ./rup.base */ \"./src/rup.base.js\"), __webpack_require__(/*! block-ui */ \"./node_modules/block-ui/jquery.blockUI.js\"), __webpack_require__(/*! ./rup.message */ \"./src/rup.message.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(function ($) {\n //*********************************************\n // ESPECIFICACÍON DE LOS TIPOS BASE DEL PATRÓN\n //*********************************************\n\n $.extend($.rup, {\n /**\r\n * Dialogo creado a partir de un diálogo existente.\r\n * @typedef {string} module:rup_dialog~DIV\r\n * @example\r\n * $.rup.dialog.DIV\r\n *\r\n */\n\n /**\r\n * Dialogo creado a partir de un texto.\r\n * @typedef {string} module:rup_dialog~TEXT\r\n * @example\r\n * $.rup.dialog.TEXT\r\n */\n /**\r\n * Dialogo creado a partir de la respuesta de una petición AJAX.\r\n * @typedef {string} module:rup_dialog~AJAX\r\n * @example\r\n * $.rup.dialog.AJAX\r\n */\n /**\r\n * Dialogo creado a partir del contenido de un enlace estático.\r\n * @typedef {string} module:rup_dialog~LINK\r\n * @example\r\n * $.rup.dialog.LINK\r\n */\n\n dialog: {\n DIV: 'dialogDIV',\n TEXT: 'textDialog',\n AJAX: 'ajaxDialog',\n LINK: 'linkButton'\n }\n });\n\n //*****************************************************************************************************************\n // DEFINICIÓN BASE DEL PATRÓN (definición de la variable privada que contendrá los métodos y la función de jQuery)\n //*****************************************************************************************************************\n\n var rup_dialog = {};\n\n //Se configura el arranque de UDA para que alberge el nuevo patrón\n $.extend($.rup.iniRup, $.rup.rupSelectorObjectConstructor('rup_dialog', rup_dialog));\n $.widget('ui.dialog', $.ui.dialog, {\n _title: function _title(title) {\n if (this.options.title) {\n title.html(this.options.title);\n } else {\n title.html(' ');\n }\n }\n });\n\n //********************************\n // DEFINICIÓN DE MÉTODOS PÚBLICOS\n //********************************\n\n $.fn.rup_dialog('extend', {\n /**\r\n * Abre el diálogo y estable el foco en el primer botón.\r\n *\r\n * @function open\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"open\");\r\n */\n open: function open() {\n //abre el dialogo y estable el foco en el primer botón.\n if ($(this).hasClass('disabled')) {\n return undefined;\n }\n var settings = $.extend({}, $(this).dialog('option')),\n $overlayEl;\n //Guardar el elemento que tenía el foco antes de abrir el diálogo\n $(this).data('focus', $(document.activeElement));\n var docHeight = $(document).height(),\n docWidth = $(document).width();\n if ($(this).dialog('option', 'ajaxCache') === false) {\n settings.id = $(this).attr('id');\n settings.autoOpen = true;\n settings.complete = function () {\n $(this).trigger('rupDialog_open');\n };\n this._ajaxLoad(settings);\n } else {\n $(this).dialog('open');\n $(this).trigger('rupDialog_open');\n }\n\n //Ajuste para portales\n if ($.rup_utils.aplicatioInPortal()) {\n if ($(this).data('uiDialog').overlay !== null) {\n $overlayEl = $(this).data('uiDialog').overlay;\n $('.r01gContainer').append($overlayEl);\n $overlayEl.css('height', docHeight).css('width', docWidth);\n }\n if (settings.position === undefined || settings.position === null) {\n $(this).data('uiDialog').uiDialog.css('position', 'absolute').css('top', docHeight / 2 - $('div[aria-describedby=' + this[0].id + ']').height() / 2);\n }\n }\n $('div.ui-dialog-buttonpane button').last().trigger('focus');\n },\n /**\r\n * Borra el dialogo si este estubiera oculto o visible.\r\n *\r\n * @function destroy\r\n *\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"destroy\");\r\n */\n destroy: function destroy() {\n $(this).dialog('destroy');\n },\n /**\r\n * Función que deshabilita el dialogo sobre el que se aplica.\r\n *\r\n * @function disable\r\n *\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"disable\");\r\n */\n disable: function disable() {\n if (!$(this).hasClass('disabled')) {\n $(this).addClass('disabled');\n }\n // $(this).dialog('disable');\n },\n /**\r\n * Funcion que, en caso de estar desahibilitado, habilita el dialogo sobre el que se aplica.\r\n *\r\n * @function enable\r\n *\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"enable\");\r\n */\n enable: function enable() {\n if ($(this).hasClass('disabled')) {\n $(this).removeClass('disabled');\n }\n },\n widget: function widget() {\n return $(this).dialog('widget');\n },\n /**\r\n * Funcion encargada de poner por encima de todos los dialogos al dialogo sobre el que se aplica. Puede ser muy util se se tiene mas de un dialog abierto a la vez.\r\n *\r\n * @function moveToTop\r\n *\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"moveToTop\");\r\n */\n moveToTop: function moveToTop() {\n if ($(this).hasClass('disabled')) {\n return undefined;\n }\n $(this).dialog('moveToTop');\n },\n /**\r\n * Cierra el dialogo.\r\n *\r\n * @function close\r\n *\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"close\");\r\n */\n close: function close() {\n //Cierra el dialogo.\n if ($(this).hasClass('disabled')) {\n return undefined;\n }\n var toClose = $(this).triggerHandler('onBeforeClose');\n if (toClose !== false) {\n $(this).dialog('close');\n }\n },\n /**\r\n * Función que devuelve si el dialogo esta abierto o no.\r\n *\r\n * @function isOpen\r\n * @returns {boolean} - Determina si el diálogo está abierto o no.\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"isOpen\");\r\n */\n isOpen: function isOpen() {\n //Función que devuelve si el dialogo esta abierto.\n return $(this).dialog('isOpen');\n },\n /**\r\n * Obtiene la propiedad que recibe como parametro.\r\n *\r\n * @function getOption\r\n * @param {string} opt - Nombre de la propiedad.\r\n * @returns {Object} - Valor de la propiedad especificada.\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"getOption\",\"width\");\r\n */\n getOption: function getOption(opt) {\n //Obtiene la propiedad que recibe como parametro.\n return $(this).dialog('option', opt);\n },\n /**\r\n * Establece la propiedad que recibe como parametro.\r\n *\r\n * @function setOption\r\n * @param {string} opt - Nombre de la propiedad.\r\n * @param {object} value - Valor de la propiedad a establecer.\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"setOption\",\"width\", 200);\r\n */\n setOption: function setOption(opt, value) {\n //Establece la propiedad que recibe como parametro.\n if (opt === 'buttons') {\n //si establecemos los botones tenemos que tener encuenta lo de los links\n var btnsLength = value.length,\n linkButtons = [],\n linkButtonsLength; //tamaño inicial de los botones sean o no enlaces\n\n if (btnsLength > 1) {\n //si tenemos mas de un boton buscamos cual es el link\n for (var i = 0; i < value.length; i++) {\n //se usa el length y no una variable porque se eliminan botones y el tamaño varia\n if (value[i].btnType === $.rup.dialog.LINK) {\n linkButtons.push(value.splice(i, 1));\n }\n }\n }\n linkButtonsLength = linkButtons.length;\n\n // Si tiene mas de dos botones y ninguno de ellos es de tipo link, entonces se mostrara una alerta diciendo que no cumple la arista.\n if (btnsLength > 1 && linkButtonsLength === 0 /*&& settings.rupCheckStyle*/) {\n $.rup_messages('msgAlert', {\n message: $.rup.i18nParse($.rup.i18n, 'base.rup_global.rupCheckStyleError')\n });\n return false;\n }\n $(this).dialog('option', opt, value);\n if (linkButtonsLength > 0) {\n //si tenemos enlaces los añadimos\n for (var _i = 0; _i < linkButtonsLength; _i++) {\n this.createBtnLinks(linkButtons[_i][0], this[0].id);\n }\n }\n\n /* Se aplican las clases definidas en el adapter excepto a los botones definidos como enlaces \r\n (la excepcion solo es valida para los enlaces si no usan las clases 'ui-button ui-corner-all ui-widget') */\n if (btnsLength > 0) {\n $('#' + this[0].id).closest('div.rup-dialog').find('button.ui-button.ui-corner-all.ui-widget:not(.ui-datepicker-trigger)').addClass($.rup.adapter[$.fn.rup_dialog.defaults.adapter].classComponent()).removeClass('ui-button ui-corner-all ui-widget');\n }\n return;\n } else {\n if (value !== undefined) {\n $(this).dialog('option', opt, value);\n } else {\n $(this).dialog('option', opt);\n }\n }\n },\n /**\r\n * Función que crea los botones y se los añade al panel de botones al final de los botones.\r\n *\r\n * @function createBtnLinks\r\n * @param {object} btn - Objeto de definición del botón.\r\n * @param {object} id - Identificador del diálogo.\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"createBtnLinks\", btnObj, \"idDialog\");\r\n */\n createBtnLinks: function createBtnLinks(btn, id) {\n if ($(this).hasClass('disabled')) {\n return undefined;\n }\n /**\r\n * Función que crea los botones y se los añade al panel de botones al final de los botones\r\n */\n var buttonHREF = $('').attr('type', 'button').attr('id', 'rup_dialog' + btn.text).addClass($.rup.adapter[$.fn.rup_dialog.defaults.adapter].classComponent()).html(btn.text).click(btn.click);\n $('div[aria-describedby=' + id + '] .ui-dialog-buttonset ').prepend(buttonHREF);\n }\n });\n\n //********************************\n // DEFINICIÓN DE MÉTODOS PRIVADOS\n //********************************\n\n $.fn.rup_dialog('extend', {\n /**\r\n * Método de inicialización del componente\r\n *\r\n * @function _init\r\n * @private\r\n */\n _init: function _init(args) {\n if (args.length > 1) {\n $.rup.errorGestor($.rup.i18nParse($.rup.i18n.base, 'rup_global.initError' + $(this).attr('id')));\n } else {\n //Se recogen y cruzan las paremetrizaciones del objeto\n var settings = $.extend({}, $.fn.rup_dialog.defaults, args[0]),\n dialog = this,\n msgDiv;\n\n //Sobrecargar close para recuperar foco en elemento que ha lanzado el diálogo\n settings._close = settings.close;\n settings.close = function (event, ui) {\n if ($(this).data('focus') !== undefined) {\n $(this).data('focus').focus();\n }\n if (settings._close !== undefined) {\n settings._close(event, ui);\n }\n };\n\n //Añadimos el callback onBeforeClose\n if (settings.onBeforeClose && typeof settings.onBeforeClose === 'function') {\n $(this).on('onBeforeClose', function () {\n return settings.onBeforeClose();\n });\n }\n //Se verifica que el selector solo contenga un diálogo\n if (settings.type !== null && $(this).length > 0) {\n $.each($(this), function () {\n var $self = $(this);\n if ($self.attr('id') !== undefined) {\n settings.id = $self.attr('id');\n } else {\n settings.id = 'rup_' + settings.type + 'DIV';\n msgDiv = $('
').attr('id', settings.id);\n msgDiv.appendTo('body');\n }\n var autopen = false,\n linkButtons = [],\n btnsLength,\n linkButtonsLength = 0,\n i,\n j,\n created = false,\n codeEventCreate;\n\n //Se determina la ubicación del dialogo físicamente (dentro de la pagina html). Por defecto se ubica en el body de la página pero puede determinarse una ubicación específica.\n //En caso de encontrarnos en portales (Ejie), y no determinar una ubicación específica, se ubica dentro de los rangos apropiados.\n if ($('div[aria-describedby=' + settings.id + ']').length > 0) {\n //comprobamos que no se haya ya creado el dialog sobre ese div para evitar problemas de sobreescritura de propiedades, como el tiulo...\n created = true;\n } else {\n if ($('body #' + settings.id).not('.ui-dialog-content').length > 1) {\n $($('body #' + settings.id).not('.ui-dialog-content')[1]).remove();\n }\n if (settings.specificLocation !== '') {\n codeEventCreate = function codeEventCreate() {\n $self.parent('.ui-dialog').insertAfter($('#' + settings.specificLocation));\n };\n } else if ($.rup_utils.aplicatioInPortal()) {\n //Ajuste para portales\n codeEventCreate = function codeEventCreate() {\n $('.r01gContainer').append($('.ui-dialog'));\n };\n }\n }\n\n //Evento de create (respetando las opciones de los usuarios)\n if (codeEventCreate !== undefined) {\n /* Gestion del evento create */\n var createUserEvent = settings.create;\n settings.create = function (event, ui) {\n if (createUserEvent !== undefined && createUserEvent !== null) {\n if (createUserEvent.call(event, ui) === false) {\n return false;\n }\n }\n //Comportamiento por defecto del evento\n codeEventCreate(event, ui);\n };\n }\n switch (settings.type) {\n case $.rup.dialog.DIV:\n //si el dialog es de tipo DIV se utilizara el div creado por el desarrollador para crear el ui dialog\n if (settings.clone !== undefined) {\n $self.clone(true).attr('id', settings.clone).insertAfter($self);\n settings.id = settings.clone;\n }\n break;\n case $.rup.dialog.TEXT:\n $self.html(settings.message);\n break;\n case $.rup.dialog.AJAX:\n dialog._ajaxLoad(settings);\n break;\n }\n\n //Para que no se abra hasta que terminemos con todas nuestra acciones\n if (settings.autoOpen === true) {\n autopen = true;\n settings.autoOpen = false;\n }\n\n //controlar que existan los botones\n if (settings.buttons && settings.buttons !== null) {\n btnsLength = settings.buttons.length; //tamaño incial de los botones se o no enlaces\n if (btnsLength > 1) {\n //si tenemos mas de un boton buscamos cual es el link\n for (i = 0; i < settings.buttons.length; i++) {\n //se usa el length y no una variable porque se eliminan botones y el tamaño varia\n if (settings.buttons[i].btnType === $.rup.dialog.LINK) {\n linkButtons.push(settings.buttons.splice(i, 1));\n i--;\n }\n }\n i = null;\n }\n linkButtonsLength = linkButtons.length;\n //Si tiene mas de dos botones y ninguno de ellos es de tipo link, entonces le mostrar una alerta diciendo que no cumple arista.\n if (btnsLength > 1 && linkButtonsLength === 0 && settings.rupCheckStyle) {\n $.rup_messages('msgAlert', {\n message: $.rup.i18nParse($.rup.i18n.base, 'rup_global.rupCheckStyleError')\n });\n settings.stack = false;\n settings.modal = false;\n settings.zIndex = 9999;\n }\n }\n if (!created) {\n //si ha sido creado no hace falta volver a añadir el enlace de cierre\n $self.dialog(settings);\n\n // Estilos RUP\n\n $self.data('uiDialog').uiDialog.addClass('rup-dialog');\n\n // Se setea el valor del maxWidth definido en caso de haber sido configurado.\n if (settings.maxWidth != undefined && settings.maxWidth != false && settings.maxWidth != \"\") {\n // Si tiene porcentaje\n if ((typeof settings.maxWidth === 'string' || settings.maxWidth instanceof String) && settings.maxWidth.includes('%')) {\n $self.parent().css('max-width', '' + settings.maxWidth + '');\n } else {\n $self.parent().css('max-width', '' + settings.maxWidth + 'px');\n }\n }\n if ($.fn.rup_dialog.defaults.adapter === 'dialog_material') {\n $self.data('uiDialog').uiDialogTitlebar.addClass($.rup.adapter[$.fn.rup_dialog.defaults.adapter].titlebarColor());\n }\n //Se comprueba que no existe el aspa.\n if ($('#' + settings.id + '_close').length === 0) {\n $self.prev('div').append('
').on('click', 'a', function () {\n $self.dialog('close');\n return false;\n });\n }\n if (linkButtonsLength > 0) {\n //si tenemos enlaces los añadimos\n for (j = 0; j < linkButtonsLength; j++) {\n $(this).rup_dialog('createBtnLinks', linkButtons[j][0], settings.id);\n }\n j = null;\n }\n } else {\n //borramos todos los posibles enlances que se hayan creado para esa capa\n $('div[aria-describedby=' + settings.id + '] .ui-dialog-buttonset a').remove();\n if (settings.title) {\n $('div[aria-describedby=' + settings.id + '] .ui-dialog-title').text(settings.title);\n }\n }\n\n // Limpieza del componente y añadidas clases restantes de los botones\n $self.data('uiDialog').uiDialog.find('button.ui-dialog-titlebar-close').remove();\n $self.data('uiDialog').uiDialog.find('button:not(.ui-datepicker-trigger)').addClass($.rup.adapter[$.fn.rup_dialog.defaults.adapter].classComponent()).removeClass('ui-button ui-corner-all ui-widget');\n if (autopen) {\n //si se auto abría lo mostramos\n if (settings.type !== $.rup.dialog.AJAX) {\n $self.rup_dialog('open');\n //le establecemos el foco\n $('div[aria-describedby=' + settings.id + '] .ui-dialog-buttonpane button').last().focus();\n } else {\n settings.autoOpen = true;\n }\n }\n });\n } else {\n if ($(this).length === 0) {\n $.rup.errorGestor($.rup.i18nParse($.rup.i18n.base, 'rup_global.selectorError'));\n } else {\n $.rup.errorGestor($.rup.i18nParse($.rup.i18n.base, 'rup_global.dialogTypeError'));\n }\n }\n }\n },\n /**\r\n * Realiza la carga del contenido del diálogo a partir de una petición AJAX.\r\n *\r\n * @function _ajaxLoad\r\n * @private\r\n * @param {object} settings - Propiedades de configuración del componente.\r\n */\n _ajaxLoad: function _ajaxLoad(settings) {\n //Si el tipo de dialogo es AJAX y no se establece url se muestra un error y se devuelve el control\n if (!settings.url || settings.url === null || settings.url === '') {\n $.rup_messages('msgAlert', {\n title: $.rup.i18nParse($.rup.i18n.base, 'rup_global.error'),\n message: $.rup.i18nParse($.rup.i18n.base, 'rup_dialog.noURL')\n });\n return false;\n }\n if (settings.showLoading && settings.autoOpen === true) {\n //si hay que mostrar la capa de cargando por defecto a false\n $.blockUI({\n message: '\"'

' + $.rup.i18nParse($.rup.i18n.base, 'rup_blockUI.cargando') + '...' + '

'\n });\n }\n\n //Especificación de las opciones asociadas a las llamada Ajax que carga el diálogo\n var ajaxOptions = $.extend({}, settings.ajaxOptions);\n ajaxOptions.success = function (data, textStatus, XMLHttpRequest) {\n if (data !== '' || data !== null) {\n //si nos devuelve datos los mostramos como HTML y desbloqueamos el ui\n $('#' + settings.id).html(data);\n $.unblockUI();\n if (settings.autoOpen === true) {\n $('#' + settings.id).rup_dialog('open');\n //le establecemos el foco\n $('div[aria-describedby=' + settings.id + '] .ui-dialog-buttonpane button').last().focus();\n }\n }\n if (settings.ajaxOptions && settings.ajaxOptions.success !== undefined && settings.ajaxOptions.success !== null && typeof settings.ajaxOptions.success === 'function') {\n settings.ajaxOptions.success(data, textStatus, XMLHttpRequest);\n }\n };\n ajaxOptions.error = function (XMLHttpRequest, textStatus, errorThrown) {\n //en caso de error mostramos un mensaje de alerta\n $.unblockUI();\n if (settings.ajaxOptions && settings.ajaxOptions.error !== undefined && settings.ajaxOptions.error !== null && typeof settings.ajaxOptions.error === 'function') {\n settings.ajaxOptions.error(XMLHttpRequest, textStatus, errorThrown);\n } else {\n $.rup_messages('msgAlert', {\n message: $.rup.i18nParse($.rup.i18n.base, 'rup_dialog.errorLoadingData')\n });\n }\n };\n ajaxOptions.url = $.rup_utils.setNoPortalParam(settings.url);\n ajaxOptions.type = 'GET';\n ajaxOptions.cache = false;\n ajaxOptions.dataType = 'text';\n //Peticion ajax para obtener los datos a mostrar\n $.rup_ajax(ajaxOptions);\n }\n });\n\n //*******************************************************\n // DEFINICIÓN DE LA CONFIGURACION POR DEFECTO DEL PATRON\n //*******************************************************\n\n /**\r\n * Propiedades de configuración de la petición Ajax.\r\n *\r\n * @typedef {object} ajaxOptions\r\n * @see {@link http://api.jquery.com/jquery.ajax/#jQuery-ajax-settings|jQuery Ajax Settings}\r\n */\n\n /**\r\n * Evento que se lanza cuando se abre el diálogo.\r\n *\r\n * @see {@link http://api.jqueryui.com/dialog/#event-open jQueryUI Dialog}\r\n * @callback onOpen\r\n * @param {Event} event - Fecha seleccionada\r\n * @param {object} ui - Objeto de jQueryUI correspondiente a la interfaz del diálogo.\r\n * @example\r\n * $(\"#idDialog\").rup_dialog({\r\n * open: function(event, ui) { ... }\r\n * });\r\n */\n\n /**\r\n * Evento que se lanza a la hora de cerrar el diálogo.\r\n *\r\n * @see {@link http://api.jqueryui.com/dialog/#event-open jQueryUI Dialog}\r\n * @callback jQuery.rup_dialog~onClose\r\n * @param {Event} event - Fecha seleccionada\r\n * @param {object} ui - Objeto de jQueryUI correspondiente a la interfaz del diálogo.\r\n * @example\r\n * $(\"#idDialog\").rup_dialog({\r\n * close: function(event, ui) { ... }\r\n * });\r\n */\n\n /**\r\n * Evento que se lanza justo antes de que se cierre el dialogo, si este evento devuelve false se anulará las acción de cierre y el dialogo seguirá abierto\r\n *\r\n * @see {@link http://api.jqueryui.com/dialog/#event-beforeClose jQueryUI Dialog}\r\n * @callback onBeforeClose\r\n * @param {Event} event - Fecha seleccionada\r\n * @param {object} ui - Objeto de jQueryUI correspondiente a la interfaz del diálogo.\r\n * @return {boolean} - Si devuelve false se anulará las acción de cierre y el dialogo seguirá abierto.\r\n * @example\r\n * $(\"#idDialog\").rup_dialog({\r\n * onBeforeClose: function(event, ui) { ... }\r\n * });\r\n */\n\n /**\r\n * Opciones por defecto de configuración del componente.\r\n * @name defaults\r\n *\r\n * @property {string} [url] - Url de donde se obtendrá el contenido del diálogo.\r\n * @property {boolean} [rupCheckStyle=true] Propiedad definida por el componentes base, si está a true se mostraran los mensajes específicos del componente base marcados por la guía de estilos, es decir, que si el desarrollador no cumple con la guisa de estilos o desarrollo el objeto base mostrará los mensajes advirtiendo su incumplimiento, si se pone a false no se mostraran. Esta acción queda bajo la responsabilidad de la aplicación, ya que esta propiedad no debería modificarse.\r\n * @property {module:rup_dialog~DIV | module:rup_dialog~TEXT | module:rup_dialog~AJAX |module:rup_dialog~LINK } type - Propiedad que establece el tipo de diálogo a mostrar.\r\n * @property {jQuery.rup_dialog~ajaxOptions} ajaxOptions - Establece las todas las propiedades para configurar la petición ajax.\r\n * @property {boolean} [showLoading=true] - Esta propiedad mostrará una capa de cargando datos en los diálogos de tipo Ajax durante la carga del mismo.\r\n * @property {boolean} [disabled=false] - Propiedad que deshabilita o no el diálogo.\r\n * @property {boolean} [autoOpen=true] - Si esta propiedad esta a true el diálogo se abrirá automáticamente cuando se cree, en el caso de que su valor sea false, el diálogo se mantendrá oculto hasta que se invoque a la función “open” (.rup_dialog(“open”)).\r\n * @property {Object} [buttons] - Define los botones (literales y funciones a las que invocan) que contendrá el diálogo. La propiedad sería de tipo Array. Donde cada elemento del array debe ser un objeto que define las propiedades de cada botón y el tipo del mismo.\r\n * @property {boolean} [closeOnEscape=true] - Especifica si se debe cerrar el diálogo cuando el tenga el foco y el usuario pulse la tecla ESC.\r\n * @property {string} dialogClass - Propiedad que establece el/los estilos que se añadirán al dialogo para dotar al dialogo de estilos diferentes.\r\n * @property {boolean} [draggable=true] - Si su valor es true el diáologo sera dragable pinchando sobre el título.\r\n * @property {string | number} [height=auto] - Establece el alto del diálogo en pixeles.\r\n * @property {string} [hide=null] - Efecto utilizado cuando se cierra el diálogo.\r\n * @property {boolean | number} [maxHeight=false] - Alto máximo en pixeles al que se puede llegar a redimensionar el diálogo.\r\n * @property {boolean | number | percentage} [maxWidth=false] - Ancho máximo en pixeles o en porcentaje al que se puede llegar a redimensionar el diálogo.\r\n * @property {boolean | number} [minHeight=100] - Alto mínimo en pixeles al que se puede llegar a redimensionar el diálogo.\r\n * @property {boolean | number} [minWidth=150] - Ancho mínimo en pixeles al que se puede llegar a redimensionar el diálogo.\r\n * @property {boolean} [modal=false] - Si se establece esta propiedad a true el diálogo se abrirá de forma modal, por encima del resto de elementos.\r\n * @property {string | string[] | number[]} position - Esta propiedad especifica donde debe mostrarse el diálogo. Sus posibles valores son: Un simple String representando la posición. 'center', 'left', 'right', 'top', 'bottom'. Un array con las coordenadas x, y en pixles (e. [350,100]). Un array con string que representan la posición (e. ['right','top']).\r\n * @property {boolean} [resizable=true] - Si se establece esta propiedad a true el diálogo se redimensionable.\r\n * @property {string} [show] - Efecto a realizar cuando se abre el diálogo.\r\n * @property {string} [title] - Establece el título de la ventana. Puede ser cualquier html válido.\r\n * @property {number} [width=300] - Establece el ancho del diálogo en pixeles.\r\n * @property {jQuery.rup_dialog~onOpen} open - Evento que se lanza cuando se abre el diálogo.\r\n * @property {jQuery.rup_dialog~onClose} close - Evento que se lanza a la hora de cerrar el diálogo.\r\n * @property {jQuery.rup_dialog~onBeforeClose} beforeClose - Evento que se lanza justo antes de que se cierre el dialogo, si este evento devuelve false se anulará las acción de cierre y el dialogo seguirá abierto.\r\n * @property {string} adapter - Permite cambiar el aspecto visual del componente.\r\n */\n $.fn.rup_dialog.defaults = {\n rupCheckStyle: true,\n type: null,\n url: null,\n minHeight: 100,\n maxWidth: false,\n ajaxCache: true,\n specificLocation: '',\n clone: undefined,\n adapter: 'dialog_material'\n };\n});\n\n//# sourceURL=webpack://rup/./src/rup.dialog.js?"); +eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\r\n * Copyright 2016 E.J.I.E., S.A.\r\n *\r\n * Licencia con arreglo a la EUPL, Versión 1.1 exclusivamente (la «Licencia»);\r\n * Solo podrá usarse esta obra si se respeta la Licencia.\r\n * Puede obtenerse una copia de la Licencia en\r\n *\r\n * http://ec.europa.eu/idabc/eupl.html\r\n *\r\n * Salvo cuando lo exija la legislación aplicable o se acuerde por escrito,\r\n * el programa distribuido con arreglo a la Licencia se distribuye «TAL CUAL»,\r\n * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas.\r\n * Véase la Licencia en el idioma concreto que rige los permisos y limitaciones\r\n * que establece la Licencia.\r\n */\n\n///* Evento del evento de antes de la carga de los datos */\n//\t\tvar loadBeforeSendUserEvent = settings.loadBeforeSend;\n//\t\tsettings.loadBeforeSend = function(xhr){\n//\t\t\tif(loadBeforeSendUserEvent !== null){\n//\t\t if(loadBeforeSendUserEvent(xhr) === false){\n//\t\t return false;\n//\t\t }\n//\t\t }\n//\t\t\t//console.log(\"loadBeforeSend\");\n//\t\t\t//Comportamiento por defecto del evento\n//\t\t\tloadBeforeSend_default(xhr);\n//\t\t};\n\n/**\r\n * Permite lanzar un subproceso o un mensaje de confirmación dentro de un proceso principal sin salirse de este.

Es una evolución del patrón mensaje.\r\n *\r\n * @summary Componente RUP Dialog.\r\n * @module rup_dialog\r\n * @see El componente está basado en el plugin {@link https://jqueryui.com/dialog/|jQuery UI Dialog}. Para mas información acerca de las funcionalidades y opciones de configuración pinche {@link http://api.jqueryui.com/dialog/|aquí}.\r\n * @example\r\n * var properties = {\r\n * type: $.rup.dialog.TEXT,\r\n * autoOpen: true,\r\n * modal: true,\r\n * resizable: true,\r\n * title: \"Título del dialog (text) \",\r\n * message: \"Se esta creando un div con el mensaje puesto por parametro.\"\r\n * };\r\n *\r\n * $(\"#selector\").rup_dialog(properties);\r\n */\n\n(function (factory) {\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"), __webpack_require__(/*! ./rup.base */ \"./src/rup.base.js\"), __webpack_require__(/*! block-ui */ \"./node_modules/block-ui/jquery.blockUI.js\"), __webpack_require__(/*! ./rup.message */ \"./src/rup.message.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(function ($) {\n //*********************************************\n // ESPECIFICACÍON DE LOS TIPOS BASE DEL PATRÓN\n //*********************************************\n\n $.extend($.rup, {\n /**\r\n * Dialogo creado a partir de un diálogo existente.\r\n * @typedef {string} module:rup_dialog~DIV\r\n * @example\r\n * $.rup.dialog.DIV\r\n *\r\n */\n\n /**\r\n * Dialogo creado a partir de un texto.\r\n * @typedef {string} module:rup_dialog~TEXT\r\n * @example\r\n * $.rup.dialog.TEXT\r\n */\n /**\r\n * Dialogo creado a partir de la respuesta de una petición AJAX.\r\n * @typedef {string} module:rup_dialog~AJAX\r\n * @example\r\n * $.rup.dialog.AJAX\r\n */\n /**\r\n * Dialogo creado a partir del contenido de un enlace estático.\r\n * @typedef {string} module:rup_dialog~LINK\r\n * @example\r\n * $.rup.dialog.LINK\r\n */\n\n dialog: {\n DIV: 'dialogDIV',\n TEXT: 'textDialog',\n AJAX: 'ajaxDialog',\n LINK: 'linkButton'\n }\n });\n\n //*****************************************************************************************************************\n // DEFINICIÓN BASE DEL PATRÓN (definición de la variable privada que contendrá los métodos y la función de jQuery)\n //*****************************************************************************************************************\n\n var rup_dialog = {};\n\n //Se configura el arranque de UDA para que alberge el nuevo patrón\n $.extend($.rup.iniRup, $.rup.rupSelectorObjectConstructor('rup_dialog', rup_dialog));\n $.widget('ui.dialog', $.ui.dialog, {\n _title: function _title(title) {\n if (this.options.title) {\n title.html(this.options.title);\n } else {\n title.html(' ');\n }\n }\n });\n\n //********************************\n // DEFINICIÓN DE MÉTODOS PÚBLICOS\n //********************************\n\n $.fn.rup_dialog('extend', {\n /**\r\n * Abre el diálogo y estable el foco en el primer botón.\r\n *\r\n * @function open\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"open\");\r\n */\n open: function open() {\n //abre el dialogo y estable el foco en el primer botón.\n if ($(this).hasClass('disabled')) {\n return undefined;\n }\n var settings = $.extend({}, $(this).dialog('option')),\n $overlayEl;\n //Guardar el elemento que tenía el foco antes de abrir el diálogo\n $(this).data('focus', $(document.activeElement));\n\n // Bloquea el desplazamiento vertical y horizontal de la aplicación para mejorar la UX.\n $('body').addClass('overflow-hidden');\n var docHeight = $(document).height(),\n docWidth = $(document).width();\n if ($(this).dialog('option', 'ajaxCache') === false) {\n settings.id = $(this).attr('id');\n settings.autoOpen = true;\n settings.complete = function () {\n $(this).trigger('rupDialog_open');\n };\n this._ajaxLoad(settings);\n } else {\n $(this).dialog('open');\n $(this).trigger('rupDialog_open');\n }\n\n //Ajuste para portales\n if ($.rup_utils.aplicatioInPortal()) {\n if ($(this).data('uiDialog').overlay !== null) {\n $overlayEl = $(this).data('uiDialog').overlay;\n $('.r01gContainer').append($overlayEl);\n $overlayEl.css('height', docHeight).css('width', docWidth);\n }\n if (settings.position === undefined || settings.position === null) {\n $(this).data('uiDialog').uiDialog.css('position', 'absolute').css('top', docHeight / 2 - $('div[aria-describedby=' + this[0].id + ']').height() / 2);\n }\n }\n $('div.ui-dialog-buttonpane button').last().trigger('focus');\n },\n /**\r\n * Borra el dialogo si este estubiera oculto o visible.\r\n *\r\n * @function destroy\r\n *\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"destroy\");\r\n */\n destroy: function destroy() {\n $(this).dialog('destroy');\n },\n /**\r\n * Función que deshabilita el dialogo sobre el que se aplica.\r\n *\r\n * @function disable\r\n *\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"disable\");\r\n */\n disable: function disable() {\n if (!$(this).hasClass('disabled')) {\n $(this).addClass('disabled');\n }\n // $(this).dialog('disable');\n },\n /**\r\n * Funcion que, en caso de estar desahibilitado, habilita el dialogo sobre el que se aplica.\r\n *\r\n * @function enable\r\n *\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"enable\");\r\n */\n enable: function enable() {\n if ($(this).hasClass('disabled')) {\n $(this).removeClass('disabled');\n }\n },\n widget: function widget() {\n return $(this).dialog('widget');\n },\n /**\r\n * Funcion encargada de poner por encima de todos los dialogos al dialogo sobre el que se aplica. Puede ser muy util se se tiene mas de un dialog abierto a la vez.\r\n *\r\n * @function moveToTop\r\n *\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"moveToTop\");\r\n */\n moveToTop: function moveToTop() {\n if ($(this).hasClass('disabled')) {\n return undefined;\n }\n $(this).dialog('moveToTop');\n },\n /**\r\n * Cierra el dialogo.\r\n *\r\n * @function close\r\n *\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"close\");\r\n */\n close: function close() {\n //Cierra el dialogo.\n if ($(this).hasClass('disabled')) {\n return undefined;\n }\n var toClose = $(this).triggerHandler('onBeforeClose');\n if (toClose !== false) {\n $(this).dialog('close');\n }\n },\n /**\r\n * Función que devuelve si el dialogo esta abierto o no.\r\n *\r\n * @function isOpen\r\n * @returns {boolean} - Determina si el diálogo está abierto o no.\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"isOpen\");\r\n */\n isOpen: function isOpen() {\n //Función que devuelve si el dialogo esta abierto.\n return $(this).dialog('isOpen');\n },\n /**\r\n * Obtiene la propiedad que recibe como parametro.\r\n *\r\n * @function getOption\r\n * @param {string} opt - Nombre de la propiedad.\r\n * @returns {Object} - Valor de la propiedad especificada.\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"getOption\",\"width\");\r\n */\n getOption: function getOption(opt) {\n //Obtiene la propiedad que recibe como parametro.\n return $(this).dialog('option', opt);\n },\n /**\r\n * Establece la propiedad que recibe como parametro.\r\n *\r\n * @function setOption\r\n * @param {string} opt - Nombre de la propiedad.\r\n * @param {object} value - Valor de la propiedad a establecer.\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"setOption\",\"width\", 200);\r\n */\n setOption: function setOption(opt, value) {\n //Establece la propiedad que recibe como parametro.\n if (opt === 'buttons') {\n //si establecemos los botones tenemos que tener encuenta lo de los links\n var btnsLength = value.length,\n linkButtons = [],\n linkButtonsLength; //tamaño inicial de los botones sean o no enlaces\n\n if (btnsLength > 1) {\n //si tenemos mas de un boton buscamos cual es el link\n for (var i = 0; i < value.length; i++) {\n //se usa el length y no una variable porque se eliminan botones y el tamaño varia\n if (value[i].btnType === $.rup.dialog.LINK) {\n linkButtons.push(value.splice(i, 1));\n }\n }\n }\n linkButtonsLength = linkButtons.length;\n\n // Si tiene mas de dos botones y ninguno de ellos es de tipo link, entonces se mostrara una alerta diciendo que no cumple la arista.\n if (btnsLength > 1 && linkButtonsLength === 0 /*&& settings.rupCheckStyle*/) {\n $.rup_messages('msgAlert', {\n message: $.rup.i18nParse($.rup.i18n, 'base.rup_global.rupCheckStyleError')\n });\n return false;\n }\n $(this).dialog('option', opt, value);\n if (linkButtonsLength > 0) {\n //si tenemos enlaces los añadimos\n for (var _i = 0; _i < linkButtonsLength; _i++) {\n this.createBtnLinks(linkButtons[_i][0], this[0].id);\n }\n }\n\n /* Se aplican las clases definidas en el adapter excepto a los botones definidos como enlaces \r\n (la excepcion solo es valida para los enlaces si no usan las clases 'ui-button ui-corner-all ui-widget') */\n if (btnsLength > 0) {\n $('#' + this[0].id).closest('div.rup-dialog').find('button.ui-button.ui-corner-all.ui-widget:not(.ui-datepicker-trigger)').addClass($.rup.adapter[$.fn.rup_dialog.defaults.adapter].classComponent()).removeClass('ui-button ui-corner-all ui-widget');\n }\n return;\n } else {\n if (value !== undefined) {\n $(this).dialog('option', opt, value);\n } else {\n $(this).dialog('option', opt);\n }\n }\n },\n /**\r\n * Función que crea los botones y se los añade al panel de botones al final de los botones.\r\n *\r\n * @function createBtnLinks\r\n * @param {object} btn - Objeto de definición del botón.\r\n * @param {object} id - Identificador del diálogo.\r\n * @example\r\n * $(\"#selector\").rup_dialog(\"createBtnLinks\", btnObj, \"idDialog\");\r\n */\n createBtnLinks: function createBtnLinks(btn, id) {\n if ($(this).hasClass('disabled')) {\n return undefined;\n }\n /**\r\n * Función que crea los botones y se los añade al panel de botones al final de los botones\r\n */\n var buttonHREF = $('').attr('type', 'button').attr('id', 'rup_dialog' + btn.text).addClass($.rup.adapter[$.fn.rup_dialog.defaults.adapter].classComponent()).html(btn.text).click(btn.click);\n $('div[aria-describedby=' + id + '] .ui-dialog-buttonset ').prepend(buttonHREF);\n }\n });\n\n //********************************\n // DEFINICIÓN DE MÉTODOS PRIVADOS\n //********************************\n\n $.fn.rup_dialog('extend', {\n /**\r\n * Método de inicialización del componente\r\n *\r\n * @function _init\r\n * @private\r\n */\n _init: function _init(args) {\n if (args.length > 1) {\n $.rup.errorGestor($.rup.i18nParse($.rup.i18n.base, 'rup_global.initError' + $(this).attr('id')));\n } else {\n //Se recogen y cruzan las paremetrizaciones del objeto\n var settings = $.extend({}, $.fn.rup_dialog.defaults, args[0]),\n dialog = this,\n msgDiv;\n\n //Sobrecargar close para recuperar foco en elemento que ha lanzado el diálogo\n settings._close = settings.close;\n settings.close = function (event, ui) {\n if ($(this).data('focus') !== undefined) {\n $(this).data('focus').focus();\n }\n if (settings._close !== undefined) {\n settings._close(event, ui);\n }\n };\n\n //Añadimos el callback onBeforeClose\n if (settings.onBeforeClose && typeof settings.onBeforeClose === 'function') {\n $(this).on('onBeforeClose', function () {\n return settings.onBeforeClose();\n });\n }\n\n // Desbloquea el desplazamiento vertical y horizontal de la aplicación.\n $(this).on('dialogclose', function () {\n $('body').removeClass('overflow-hidden');\n });\n\n //Se verifica que el selector solo contenga un diálogo\n if (settings.type !== null && $(this).length > 0) {\n $.each($(this), function () {\n var $self = $(this);\n if ($self.attr('id') !== undefined) {\n settings.id = $self.attr('id');\n } else {\n settings.id = 'rup_' + settings.type + 'DIV';\n msgDiv = $('
').attr('id', settings.id);\n msgDiv.appendTo('body');\n }\n var autopen = false,\n linkButtons = [],\n btnsLength,\n linkButtonsLength = 0,\n i,\n j,\n created = false,\n codeEventCreate;\n\n //Se determina la ubicación del dialogo físicamente (dentro de la pagina html). Por defecto se ubica en el body de la página pero puede determinarse una ubicación específica.\n //En caso de encontrarnos en portales (Ejie), y no determinar una ubicación específica, se ubica dentro de los rangos apropiados.\n if ($('div[aria-describedby=' + settings.id + ']').length > 0) {\n //comprobamos que no se haya ya creado el dialog sobre ese div para evitar problemas de sobreescritura de propiedades, como el tiulo...\n created = true;\n } else {\n if ($('body #' + settings.id).not('.ui-dialog-content').length > 1) {\n $($('body #' + settings.id).not('.ui-dialog-content')[1]).remove();\n }\n if (settings.specificLocation !== '') {\n codeEventCreate = function codeEventCreate() {\n $self.parent('.ui-dialog').insertAfter($('#' + settings.specificLocation));\n };\n } else if ($.rup_utils.aplicatioInPortal()) {\n //Ajuste para portales\n codeEventCreate = function codeEventCreate() {\n $('.r01gContainer').append($('.ui-dialog'));\n };\n }\n }\n\n //Evento de create (respetando las opciones de los usuarios)\n if (codeEventCreate !== undefined) {\n /* Gestion del evento create */\n var createUserEvent = settings.create;\n settings.create = function (event, ui) {\n if (createUserEvent !== undefined && createUserEvent !== null) {\n if (createUserEvent.call(event, ui) === false) {\n return false;\n }\n }\n //Comportamiento por defecto del evento\n codeEventCreate(event, ui);\n };\n }\n switch (settings.type) {\n case $.rup.dialog.DIV:\n //si el dialog es de tipo DIV se utilizara el div creado por el desarrollador para crear el ui dialog\n if (settings.clone !== undefined) {\n $self.clone(true).attr('id', settings.clone).insertAfter($self);\n settings.id = settings.clone;\n }\n break;\n case $.rup.dialog.TEXT:\n $self.html(settings.message);\n break;\n case $.rup.dialog.AJAX:\n dialog._ajaxLoad(settings);\n break;\n }\n\n //Para que no se abra hasta que terminemos con todas nuestra acciones\n if (settings.autoOpen === true) {\n autopen = true;\n settings.autoOpen = false;\n }\n\n //controlar que existan los botones\n if (settings.buttons && settings.buttons !== null) {\n btnsLength = settings.buttons.length; //tamaño incial de los botones se o no enlaces\n if (btnsLength > 1) {\n //si tenemos mas de un boton buscamos cual es el link\n for (i = 0; i < settings.buttons.length; i++) {\n //se usa el length y no una variable porque se eliminan botones y el tamaño varia\n if (settings.buttons[i].btnType === $.rup.dialog.LINK) {\n linkButtons.push(settings.buttons.splice(i, 1));\n i--;\n }\n }\n i = null;\n }\n linkButtonsLength = linkButtons.length;\n //Si tiene mas de dos botones y ninguno de ellos es de tipo link, entonces le mostrar una alerta diciendo que no cumple arista.\n if (btnsLength > 1 && linkButtonsLength === 0 && settings.rupCheckStyle) {\n $.rup_messages('msgAlert', {\n message: $.rup.i18nParse($.rup.i18n.base, 'rup_global.rupCheckStyleError')\n });\n settings.stack = false;\n settings.modal = false;\n settings.zIndex = 9999;\n }\n }\n if (!created) {\n //si ha sido creado no hace falta volver a añadir el enlace de cierre\n $self.dialog(settings);\n\n // Estilos RUP\n\n $self.data('uiDialog').uiDialog.addClass('rup-dialog');\n\n // Se setea el valor del maxWidth definido en caso de haber sido configurado.\n if (settings.maxWidth != undefined && settings.maxWidth != false && settings.maxWidth != \"\") {\n // Si tiene porcentaje\n if ((typeof settings.maxWidth === 'string' || settings.maxWidth instanceof String) && settings.maxWidth.includes('%')) {\n $self.parent().css('max-width', '' + settings.maxWidth + '');\n } else {\n $self.parent().css('max-width', '' + settings.maxWidth + 'px');\n }\n }\n if ($.fn.rup_dialog.defaults.adapter === 'dialog_material') {\n $self.data('uiDialog').uiDialogTitlebar.addClass($.rup.adapter[$.fn.rup_dialog.defaults.adapter].titlebarColor());\n }\n //Se comprueba que no existe el aspa.\n if ($('#' + settings.id + '_close').length === 0) {\n $self.prev('div').append('').on('click', 'a', function () {\n $self.dialog('close');\n return false;\n });\n }\n if (linkButtonsLength > 0) {\n //si tenemos enlaces los añadimos\n for (j = 0; j < linkButtonsLength; j++) {\n $(this).rup_dialog('createBtnLinks', linkButtons[j][0], settings.id);\n }\n j = null;\n }\n } else {\n //borramos todos los posibles enlances que se hayan creado para esa capa\n $('div[aria-describedby=' + settings.id + '] .ui-dialog-buttonset a').remove();\n if (settings.title) {\n $('div[aria-describedby=' + settings.id + '] .ui-dialog-title').text(settings.title);\n }\n }\n\n // Limpieza del componente y añadidas clases restantes de los botones\n $self.data('uiDialog').uiDialog.find('button.ui-dialog-titlebar-close').remove();\n $self.data('uiDialog').uiDialog.find('button:not(.ui-datepicker-trigger)').addClass($.rup.adapter[$.fn.rup_dialog.defaults.adapter].classComponent()).removeClass('ui-button ui-corner-all ui-widget');\n if (autopen) {\n //si se auto abría lo mostramos\n if (settings.type !== $.rup.dialog.AJAX) {\n $self.rup_dialog('open');\n //le establecemos el foco\n $('div[aria-describedby=' + settings.id + '] .ui-dialog-buttonpane button').last().focus();\n } else {\n settings.autoOpen = true;\n }\n }\n });\n } else {\n if ($(this).length === 0) {\n $.rup.errorGestor($.rup.i18nParse($.rup.i18n.base, 'rup_global.selectorError'));\n } else {\n $.rup.errorGestor($.rup.i18nParse($.rup.i18n.base, 'rup_global.dialogTypeError'));\n }\n }\n }\n },\n /**\r\n * Realiza la carga del contenido del diálogo a partir de una petición AJAX.\r\n *\r\n * @function _ajaxLoad\r\n * @private\r\n * @param {object} settings - Propiedades de configuración del componente.\r\n */\n _ajaxLoad: function _ajaxLoad(settings) {\n //Si el tipo de dialogo es AJAX y no se establece url se muestra un error y se devuelve el control\n if (!settings.url || settings.url === null || settings.url === '') {\n $.rup_messages('msgAlert', {\n title: $.rup.i18nParse($.rup.i18n.base, 'rup_global.error'),\n message: $.rup.i18nParse($.rup.i18n.base, 'rup_dialog.noURL')\n });\n return false;\n }\n if (settings.showLoading && settings.autoOpen === true) {\n //si hay que mostrar la capa de cargando por defecto a false\n $.blockUI({\n message: '\"'

' + $.rup.i18nParse($.rup.i18n.base, 'rup_blockUI.cargando') + '...' + '

'\n });\n }\n\n //Especificación de las opciones asociadas a las llamada Ajax que carga el diálogo\n var ajaxOptions = $.extend({}, settings.ajaxOptions);\n ajaxOptions.success = function (data, textStatus, XMLHttpRequest) {\n if (data !== '' || data !== null) {\n //si nos devuelve datos los mostramos como HTML y desbloqueamos el ui\n $('#' + settings.id).html(data);\n $.unblockUI();\n if (settings.autoOpen === true) {\n $('#' + settings.id).rup_dialog('open');\n //le establecemos el foco\n $('div[aria-describedby=' + settings.id + '] .ui-dialog-buttonpane button').last().focus();\n }\n }\n if (settings.ajaxOptions && settings.ajaxOptions.success !== undefined && settings.ajaxOptions.success !== null && typeof settings.ajaxOptions.success === 'function') {\n settings.ajaxOptions.success(data, textStatus, XMLHttpRequest);\n }\n };\n ajaxOptions.error = function (XMLHttpRequest, textStatus, errorThrown) {\n //en caso de error mostramos un mensaje de alerta\n $.unblockUI();\n if (settings.ajaxOptions && settings.ajaxOptions.error !== undefined && settings.ajaxOptions.error !== null && typeof settings.ajaxOptions.error === 'function') {\n settings.ajaxOptions.error(XMLHttpRequest, textStatus, errorThrown);\n } else {\n $.rup_messages('msgAlert', {\n message: $.rup.i18nParse($.rup.i18n.base, 'rup_dialog.errorLoadingData')\n });\n }\n };\n ajaxOptions.url = $.rup_utils.setNoPortalParam(settings.url);\n ajaxOptions.type = 'GET';\n ajaxOptions.cache = false;\n ajaxOptions.dataType = 'text';\n //Peticion ajax para obtener los datos a mostrar\n $.rup_ajax(ajaxOptions);\n }\n });\n\n //*******************************************************\n // DEFINICIÓN DE LA CONFIGURACION POR DEFECTO DEL PATRON\n //*******************************************************\n\n /**\r\n * Propiedades de configuración de la petición Ajax.\r\n *\r\n * @typedef {object} ajaxOptions\r\n * @see {@link http://api.jquery.com/jquery.ajax/#jQuery-ajax-settings|jQuery Ajax Settings}\r\n */\n\n /**\r\n * Evento que se lanza cuando se abre el diálogo.\r\n *\r\n * @see {@link http://api.jqueryui.com/dialog/#event-open jQueryUI Dialog}\r\n * @callback onOpen\r\n * @param {Event} event - Fecha seleccionada\r\n * @param {object} ui - Objeto de jQueryUI correspondiente a la interfaz del diálogo.\r\n * @example\r\n * $(\"#idDialog\").rup_dialog({\r\n * open: function(event, ui) { ... }\r\n * });\r\n */\n\n /**\r\n * Evento que se lanza a la hora de cerrar el diálogo.\r\n *\r\n * @see {@link http://api.jqueryui.com/dialog/#event-open jQueryUI Dialog}\r\n * @callback jQuery.rup_dialog~onClose\r\n * @param {Event} event - Fecha seleccionada\r\n * @param {object} ui - Objeto de jQueryUI correspondiente a la interfaz del diálogo.\r\n * @example\r\n * $(\"#idDialog\").rup_dialog({\r\n * close: function(event, ui) { ... }\r\n * });\r\n */\n\n /**\r\n * Evento que se lanza justo antes de que se cierre el dialogo, si este evento devuelve false se anulará las acción de cierre y el dialogo seguirá abierto\r\n *\r\n * @see {@link http://api.jqueryui.com/dialog/#event-beforeClose jQueryUI Dialog}\r\n * @callback onBeforeClose\r\n * @param {Event} event - Fecha seleccionada\r\n * @param {object} ui - Objeto de jQueryUI correspondiente a la interfaz del diálogo.\r\n * @return {boolean} - Si devuelve false se anulará las acción de cierre y el dialogo seguirá abierto.\r\n * @example\r\n * $(\"#idDialog\").rup_dialog({\r\n * onBeforeClose: function(event, ui) { ... }\r\n * });\r\n */\n\n /**\r\n * Opciones por defecto de configuración del componente.\r\n * @name defaults\r\n *\r\n * @property {string} [url] - Url de donde se obtendrá el contenido del diálogo.\r\n * @property {boolean} [rupCheckStyle=true] Propiedad definida por el componentes base, si está a true se mostraran los mensajes específicos del componente base marcados por la guía de estilos, es decir, que si el desarrollador no cumple con la guisa de estilos o desarrollo el objeto base mostrará los mensajes advirtiendo su incumplimiento, si se pone a false no se mostraran. Esta acción queda bajo la responsabilidad de la aplicación, ya que esta propiedad no debería modificarse.\r\n * @property {module:rup_dialog~DIV | module:rup_dialog~TEXT | module:rup_dialog~AJAX |module:rup_dialog~LINK } type - Propiedad que establece el tipo de diálogo a mostrar.\r\n * @property {jQuery.rup_dialog~ajaxOptions} ajaxOptions - Establece las todas las propiedades para configurar la petición ajax.\r\n * @property {boolean} [showLoading=true] - Esta propiedad mostrará una capa de cargando datos en los diálogos de tipo Ajax durante la carga del mismo.\r\n * @property {boolean} [disabled=false] - Propiedad que deshabilita o no el diálogo.\r\n * @property {boolean} [autoOpen=true] - Si esta propiedad esta a true el diálogo se abrirá automáticamente cuando se cree, en el caso de que su valor sea false, el diálogo se mantendrá oculto hasta que se invoque a la función “open” (.rup_dialog(“open”)).\r\n * @property {Object} [buttons] - Define los botones (literales y funciones a las que invocan) que contendrá el diálogo. La propiedad sería de tipo Array. Donde cada elemento del array debe ser un objeto que define las propiedades de cada botón y el tipo del mismo.\r\n * @property {boolean} [closeOnEscape=true] - Especifica si se debe cerrar el diálogo cuando el tenga el foco y el usuario pulse la tecla ESC.\r\n * @property {string} dialogClass - Propiedad que establece el/los estilos que se añadirán al dialogo para dotar al dialogo de estilos diferentes.\r\n * @property {boolean} [draggable=true] - Si su valor es true el diáologo sera dragable pinchando sobre el título.\r\n * @property {string | number} [height=auto] - Establece el alto del diálogo en pixeles.\r\n * @property {string} [hide=null] - Efecto utilizado cuando se cierra el diálogo.\r\n * @property {boolean | number} [maxHeight=false] - Alto máximo en pixeles al que se puede llegar a redimensionar el diálogo.\r\n * @property {boolean | number | percentage} [maxWidth=false] - Ancho máximo en pixeles o en porcentaje al que se puede llegar a redimensionar el diálogo.\r\n * @property {boolean | number} [minHeight=100] - Alto mínimo en pixeles al que se puede llegar a redimensionar el diálogo.\r\n * @property {boolean | number} [minWidth=150] - Ancho mínimo en pixeles al que se puede llegar a redimensionar el diálogo.\r\n * @property {boolean} [modal=false] - Si se establece esta propiedad a true el diálogo se abrirá de forma modal, por encima del resto de elementos.\r\n * @property {string | string[] | number[]} position - Esta propiedad especifica donde debe mostrarse el diálogo. Sus posibles valores son: Un simple String representando la posición. 'center', 'left', 'right', 'top', 'bottom'. Un array con las coordenadas x, y en pixles (e. [350,100]). Un array con string que representan la posición (e. ['right','top']).\r\n * @property {boolean} [resizable=true] - Si se establece esta propiedad a true el diálogo se redimensionable.\r\n * @property {string} [show] - Efecto a realizar cuando se abre el diálogo.\r\n * @property {string} [title] - Establece el título de la ventana. Puede ser cualquier html válido.\r\n * @property {number} [width=300] - Establece el ancho del diálogo en pixeles.\r\n * @property {jQuery.rup_dialog~onOpen} open - Evento que se lanza cuando se abre el diálogo.\r\n * @property {jQuery.rup_dialog~onClose} close - Evento que se lanza a la hora de cerrar el diálogo.\r\n * @property {jQuery.rup_dialog~onBeforeClose} beforeClose - Evento que se lanza justo antes de que se cierre el dialogo, si este evento devuelve false se anulará las acción de cierre y el dialogo seguirá abierto.\r\n * @property {string} adapter - Permite cambiar el aspecto visual del componente.\r\n */\n $.fn.rup_dialog.defaults = {\n rupCheckStyle: true,\n type: null,\n url: null,\n minHeight: 100,\n maxWidth: false,\n ajaxCache: true,\n specificLocation: '',\n clone: undefined,\n adapter: 'dialog_material'\n };\n});\n\n//# sourceURL=webpack://rup/./src/rup.dialog.js?"); /***/ }), @@ -8574,7 +8574,7 @@ eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPAC /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("/* WEBPACK VAR INJECTION */(function(jQuery, global, $) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n/* eslint-disable no-useless-escape */\n\n/*!\n * Copyright 2021 E.J.I.E., S.A.\n *\n * Licencia con arreglo a la EUPL, Versión 1.1 exclusivamente (la «Licencia»);\n * Solo podrá usarse esta obra si se respeta la Licencia.\n * Puede obtenerse una copia de la Licencia en\n *\n * http://ec.europa.eu/idabc/eupl.html\n *\n * Salvo cuando lo exija la legislación aplicable o se acuerde por escrito,\n * el programa distribuido con arreglo a la Licencia se distribuye «TAL CUAL»,\n * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas.\n * Véase la Licencia en el idioma concreto que rige los permisos y limitaciones\n * que establece la Licencia.\n */\n\n/**\n * Permite al usuario recuperar un elemento de una gran lista de elementos o de\n * varias listas dependientes de forma sencilla y ocupando poco espacio en la\n * interfaz.\n * \n * @summary Componente RUP Select.\n * @module rup_select\n * @see El componente está basado en el plugin\n * {@link https://select2.org//|Select2}. Para mas información acerca de\n * las funcionalidades y opciones de configuración pinche\n * {@link https://select2.org//|aquí}.\n * @example $(\"#idSelect\").rup_select({ source : \"selectSimple/remote\",\n * sourceParam : {label:\"desc\"+$.rup_utils.capitalizedLang(),\n * value:\"code\", style:\"css\"} });\n */\n\n/* global define */\n/* global jQuery */\n\n(function (factory) {\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"), __webpack_require__(/*! ./rup.base */ \"./src/rup.base.js\"), __webpack_require__(/*! ./rup.message */ \"./src/rup.message.js\"), __webpack_require__(/*! select2 */ \"./node_modules/select2/dist/js/select2.js\"), __webpack_require__(/*! ./external/select2MultiCheckboxes */ \"./src/external/select2MultiCheckboxes.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(function ($) {\n // ****************************************************************************************************************\n // DEFINICIÓN BASE DEL PATRÓN (definición de la variable privada que\n // contendrá los métodos y la función de jQuery)\n // ****************************************************************************************************************\n\n var rup_select = {};\n var FUNCTION_NOT_SUPPORTED_ERROR_MESSAGE = $.rup.i18nParse($.rup.i18n.base, 'rup_global.functionNotSupportedError');\n var FUNCTION_NOT_SUPPORTED_ERROR_TITLE = $.rup.i18nParse($.rup.i18n.base, 'rup_global.error');\n\n // Se configura el arranque de UDA para que alberge el nuevo patrón\n $.extend($.rup.iniRup, $.rup.rupSelectorObjectConstructor('rup_select', rup_select));\n\n // *******************************\n // DEFINICIÓN DE MÉTODOS PÚBLICOS\n // *******************************\n $.fn.rup_select('extend', {\n /**\n * Método utilizado para obtener el valor del componente. Este método es\n * el utilizado por el resto de componentes RUP para estandarizar la\n * obtención del valor del select.\n * \n * @function getRupValue\n * @return {string | number} - Devuelve el valor actual del componente\n * seleccionado por el usuario.\n * @example $(\"#idSelect\").rup_select(\"getRupValue\");\n */\n getRupValue: function getRupValue() {\n var $self = $(this),\n settings = $self.data('settings'),\n value;\n var values = $self.select2('data');\n if ((values == undefined || values.length == 0) && !settings.multiple) {\n value = '';\n } else if (values.length == 1 && !settings.multiple) {\n value = values[0].id;\n } else {\n value = [];\n $.each(values, function (ind, elem) {\n value.push(elem.id);\n });\n }\n if (settings !== undefined && settings.submitAsJSON !== undefined && settings.submitAsJSON) {\n var name = $self.attr('name');\n if (name == undefined) {\n name = $self.attr('id');\n }\n return jQuery.rup_utils.getRupValueAsJson(name, value);\n }\n return value;\n },\n /**\n * Método utilizado para asignar el valor al componente. Este método es\n * el utilizado por el resto de componentes RUP para estandarizar la\n * asignación del valor al Select.\n * \n * @function setRupValue\n * @param {string |\n * number} param - Valor que se va a asignar al componente.\n * @example $(\"#idSelect\").rup_select('setRupValue', 'Si');\n */\n setRupValue: function setRupValue(param) {\n var $self = $(this),\n settings = $self.data('settings');\n\n // Tipo de select\n if (this.length === 0 || settings !== undefined && !settings.multiple) {\n var _texto = undefined; // normal.\n // Simple\n if (settings !== undefined && settings.data === undefined && settings.options !== undefined) {\n // si\n // es\n // remoto\n // crear\n // el\n // option\n var data = {};\n if (settings.groups) {\n data = $.grep(settings.optionsGroups, function (v) {\n return v.id == param;\n });\n } else {\n data = $.grep(settings.options, function (v) {\n return v.id == param;\n });\n }\n if (data[0] !== undefined) {\n if ($('#' + settings.id).find(\"option[value='\" + data[0].id + \"']\").length == 0) {\n data = data[0];\n _this._createOption(settings, data);\n param = data.id; // mantenga el cifrado\n _texto = data.text;\n } else {\n param = data[0].id; // mantenga el cifrado\n _texto = data[0].text;\n }\n }\n }\n var dataSelect2 = $self.data('select2');\n if (dataSelect2 !== undefined) {\n if (dataSelect2.$selection.find('input').length == 1) {\n if (settings.defaultValueAutocompleteNotLoaded == false) {\n dataSelect2.$selection.find('input').val('');\n } else {\n dataSelect2.$selection.find('input').val(param);\n }\n }\n var $search = dataSelect2.dropdown.$search || dataSelect2.selection.$search;\n if ($search != undefined && _texto !== undefined) {\n //sifnifica que esta abierto\n var lis = dataSelect2.dropdown.$dropdown.find('li');\n var selectedDate = $.grep(lis, function (v) {\n return $(v).text() === _texto;\n });\n lis.attr('aria-selected', false);\n $(selectedDate).attr('aria-selected', true);\n }\n\n // Guardar seleccionado.\n settings.selected = param;\n $self.val(param).trigger('change');\n $('#' + settings.id).rup_select('change');\n }\n } else {\n // Multiple > multiselect - falta\n if (_typeof(param) === 'object' && settings.options !== undefined) {\n // si\n // es\n // remoto\n // crear\n // el\n // option\n var arrayDatos = [];\n $.each(param, function (key, value) {\n var data = {};\n if (settings.groups) {\n data = $.grep(settings.optionsGroups, function (v) {\n return v.id == value;\n });\n } else {\n data = $.grep(settings.options, function (v) {\n return v.id == value;\n });\n }\n if (data[0] != undefined && $('#' + settings.id).find(\"option[value='\" + data[0].id + \"']\").length == 0) {\n data = data[0];\n _this._createOption(settings, data);\n arrayDatos.push(data.id);\n } else {\n arrayDatos.push(value);\n }\n });\n\n // Guardar seleccionados.\n settings.selected = arrayDatos;\n $('#' + settings.id).val(arrayDatos).trigger('change');\n }\n }\n },\n /**\n * Método que limpia el valor seleccionado en el select. En el caso de\n * selección múltiple los valores seleccionados.\n * \n * @function clear\n * @example $(\"#idSelect\").rup_select(\"clear\");\n */\n clear: function clear() {\n var $self = $(this);\n // init de select\n if (this.length > 0) {\n var settings = $self.data('settings');\n var dataSelect2 = $self.data('select2');\n dataSelect2.$selection.find('input').val('');\n // Simple y multi\n if (settings.blank !== undefined) {\n if (settings.multiple) {\n $self.rup_select('setRupValue', [$self.data('settings').blank]);\n } else {\n $self.rup_select('setRupValue', $self.data('settings').blank);\n }\n } else {\n $self.rup_select('setRupValue', null);\n }\n }\n },\n /**\n * Método que lanza el evento change del componente.\n * \n * @function change\n * @example $(\"#idSelect\").rup_select(\"change\");\n */\n change: function change() {\n // Tipo de select\n if ($(this).data('settings').change) {\n $(this).data('settings').change();\n }\n },\n /**\n * Selecciona todos los elementos en el caso de tratarse de un select\n * multilesección.\n * \n * @function checkAll\n * @example $(\"#idSelect\").rup_select(\"checkAll\");\n */\n checkAll: function checkAll() {\n // Tipo de select\n if ($(this).data('settings').multiple) {\n // Multiple > multiselect\n var selectedItems = [];\n var allOptions = $(\"#\" + $(this)[0].id + \" option\");\n allOptions.each(function () {\n selectedItems.push($(this).val());\n });\n $(this).rup_select('setRupValue', selectedItems);\n } else {\n // Simple > selectmenu\n alert('Función no soportada.');\n }\n },\n /**\n * Selecciona el elemento del select que contiene como texto el\n * indicado. En caso de no existir el texto a buscar el se no sufrirá\n * cambios En el caso de selección múltiple el parámetro será un array.\n * \n * @function selectByLabel\n * @param {string |\n * string[]} param - Parámetro utilzado para determinar los\n * elementos a seleccionar.\n * @example // Simple $(\"#idSelect\").rup_select(\"selectByLabel\", \"No\"); //\n * Multiple $(\"#idSelect\").rup_select(\"selectByLabel\",\n * [\"No\",\"Si\"]);\n */\n selectByLabel: function selectByLabel(param) {\n // Tipo de select\n var settings = $(this).data('settings');\n if (settings.options !== undefined) {\n var options = settings.options;\n if (settings.groups) {\n options = settings.optionsGroups;\n }\n if (!settings.multiple) {\n // Simple > selectmenu\n var data = $.grep(options, function (v) {\n return v.text === param;\n });\n if (data[0] !== undefined) {\n $(this).rup_select('setRupValue', data[0].id);\n }\n } else {\n // Ejemplo\n // $('#idSelect').rup_select('selectByLabel',['php_value','java_value'])\n var datos = [];\n $.each(param, function (key, value) {\n var data = $.grep(options, function (v) {\n return v.text === value;\n });\n if (data[0] !== undefined) {\n datos.push(data[0].id);\n }\n });\n $(this).rup_select('setRupValue', datos);\n }\n }\n },\n /**\n * Selecciona el elemento enviado como parámetro. En caso de ser un numérico se selecciona por la posición (comenzando en 0) y si es un literal se selecciona por el valor. En el caso de selección múltiple el parámetro será un array.\n *\n * @function select\n * @param {string | number | string[] | number[]} param - Parámetro utilzado para determinar los elementos a seleccionar.\n * @example\n * // Simple\n * $(\"#idSelect\").rup_select(\"select\", 2);\n * // Multiple\n * $(\"#idSelect\").rup_select(\"select\", [0,2]);\n */\n select: function select(param) {\n var settings = $(this).data().settings;\n var datas = settings.data || settings.options;\n if (settings.groups) {\n datas = settings.optionsGroups;\n }\n if (settings.multiple) {\n var datos = [];\n $.each(param, function (key, value) {\n if (datas.length >= value) {\n datos.push(datas[value].id);\n }\n });\n $(this).rup_select('setRupValue', datos);\n } else {\n if (datas.length >= param) {\n $(this).rup_select('setRupValue', datas[param].id);\n }\n }\n },\n /**\n * Método que devuelve el label asociado al valor seleccionado en el\n * select. En el caso de la selección múltiple se devolverá un array.\n * \n * @function label\n * @return {string | string[]} - Texto del elemento o elementos\n * seleccionado.\n * @example $(\"#idSelect\").rup_select(\"label\");\n */\n label: function label() {\n // Tipo de select\n var data = $(this).select2('data');\n if (!$(this).data('settings').multiple) {\n return data[0].text;\n } else {\n // Multiple > multiselect\n var retorno = [];\n for (var i = 0; i < data.length; i++) {\n retorno.push(data[i].text);\n }\n return retorno;\n }\n },\n /**\n * Devuelve el índice de la opción seleccionada en el select (empezando\n * en 1). En el caso de la selección múltiple se devolverá un array.\n * \n * @function index\n * @return {number | number[]} - Índice del elemento o elementos\n * seleccionados.\n * @example $(\"#idSelect\").rup_select(\"index\");\n */\n index: function index() {\n // Tipo de select\n var settings = $(this).data('settings');\n if (settings.options !== undefined) {\n var options = settings.options;\n if (settings.groups) {\n options = settings.optionsGroups;\n }\n var count = 0;\n var data = $(this).select2('data');\n if (!settings.multiple) {\n // Simple > selectmenu\n\n $.each(options, function (key, value) {\n if (settings.blank !== value.id.toString()) {\n count = count + 1;\n }\n if (value.id.toString() === data[0].id.toString()) {\n return false;\n }\n });\n } else {\n var listaCount = [];\n $.each(data, function (key, value) {\n count = 0;\n $.each(options, function (cont, valor) {\n if (settings.blank !== value.id.toString()) {\n count = count + 1;\n }\n if (value.id.toString() === valor.id.toString()) {\n listaCount.push(count);\n return false;\n }\n });\n });\n return listaCount;\n }\n return count;\n }\n },\n /**\n * Deshabilita el select.\n * \n * @function disable\n * @example $(\"#idSelect\").rup_select(\"disable\");\n */\n disable: function disable() {\n // Tipo de select\n var $self = $(this);\n $self.prop(\"disabled\", true);\n },\n /**\n * Habilita el select.\n * \n * @function enable\n * @example $(\"#idSelect\").rup_select(\"enable\");\n */\n enable: function enable() {\n var $self = $(this);\n $self.prop(\"disabled\", false);\n },\n /**\n * Indica si el select está deshabilitado o no.\n * \n * @function isDisabled\n * @param {boolean} -\n * Devuelve si el select está deshabilitado o no.\n * @example $(\"#idSelect\").rup_select(\"isDisabled\");\n */\n isDisabled: function isDisabled() {\n if ($(this).attr('disabled') === 'disabled') {\n return true;\n } else {\n return false;\n }\n },\n /**\n * Realiza una recarga de los select.\n * \n * @function reload\n * @example $(\"#idSelect\").rup_select(\"reload\");\n */\n reload: function reload(removeOptions) {\n var settings = $(this).data('settings');\n $(this).select2(\"destroy\");\n if (removeOptions) {\n $(this).find('option').remove();\n }\n $(this).rup_select(settings);\n },\n /**\n * Cambia el source del select y recarga el componente para que este\n * comience a usarlo.\n * \n * @function setSource\n * @param {string}\n * source - Source desde el cual se obtendran los datos a\n * sourceParam - Se puede cambiar los parámetros de la cabecera..\n * @example $(\"#idSelect\").rup_select(\"setSource\", source, sourceParam);\n */\n setSource: function setSource(source, sourceParam) {\n if (source !== undefined && source !== '') {\n var $self = $(this);\n var settings = $self.data().settings;\n var dataSelect2 = $self.data('select2');\n if ($self.data().settings.data === undefined) {\n // remoto\n\n dataSelect2.dataAdapter.ajaxOptions.url = source;\n if (sourceParam != undefined) {\n dataSelect2.dataAdapter.ajaxOptions.headers = $.toJSON(sourceParam);\n }\n } else {\n // local\n settings.data = source;\n settings.options = undefined;\n $self.data('settings', settings);\n if (dataSelect2.$selection != undefined) {\n dataSelect2.$selection.find('input').val('');\n }\n $self.empty();\n if (settings.data !== undefined && settings.autocomplete) {\n $.each(settings.data, function () {\n _this._createOption(settings, this);\n });\n } else {\n $self.select2({\n data: settings.data\n });\n }\n }\n if (settings.multiple == true) {\n if (settings.dataParents != null) {\n settings.data = settings.dataParents;\n }\n $self.rup_select('reload');\n }\n }\n },\n /**\n * Método que devuelve los datos, de los elementos seleccionados.\n * \n * @function getDataSelected\n * @return {string | string[]} - Texto del elemento o elementos\n * seleccionado.\n * @example $(\"#idSelect\").rup_select(\"label\");\n */\n getDataSelected: function getDataSelected() {\n // Tipo de select\n var data = $(this).select2('data');\n if (!$(this).data('settings').multiple) {\n return data[0];\n } else {\n return data;\n }\n },\n /**\n * Método que añade un option al select en local\n * \n * @function addOption\n * id:\tidentificador del nuevo option\n * text: texto del nuevo option\n * label: en Caso de ser grupos, el label donde se va a meter(obligatorio)\n * @example $(\"#idSelect\").rup_select(\"label\");\n */\n addOption: function addOption(id, text, label) {\n // Tipo de select\n\n var newOpt = new Option(id, text);\n if ($(this).data('settings').groups && label != undefined) {\n var options = $(this).data('select2').options.options;\n $(this).find('optgroup[label=\"' + label + '\"]').append(newOpt);\n var seleccionado = $.grep(options.data, function (v, index) {\n return v.text === label;\n });\n if (seleccionado != undefined && seleccionado.length == 1) {\n seleccionado[0].children[seleccionado[0].children.length] = {\n id: id,\n text: text\n };\n }\n } else {\n $(this).append(newOpt);\n }\n },\n /**\n * Deshabilita una opción de un select multiselección.\n *\n * @function disableOpt\n * @param {string} optValue - Value del option que queremos deshabilitar.\n * @example\n * $(\"#idSelect\").rup_select(\"disableOpt\", \"opt1\");\n */\n disableOpt: function disableOpt(optValue) {\n if ($(this).data('settings').multiple) {\n //Deshabilitar select\n this.find('[value=\\'' + optValue + '\\']').attr('disabled', 'disabled');\n\n //Si pertenece a OptGroup y es el último en deshabilitarse > Cambiar estilos optGroupLabel\n if ($(this).data('settings').sourceGroup != undefined) {\n //Obtener inicio optGroup\n var li = obj.parentsUntil('ul').last().prevAll('li.ui-multiselect-optgroup-label').first(),\n inputs = li.nextUntil('li.ui-multiselect-optgroup-label').find('input'),\n allDisabled = true;\n for (var i = 0; i < inputs.length; i++) {\n if (!inputs[i].disabled) {\n allDisabled = false;\n break;\n }\n }\n if (allDisabled) {\n //Estilos optGroup\n li.css('color', 'grey');\n li.children('a').remove();\n li.children('span').not('.rup-combo_multiOptgroupLabel').remove();\n }\n }\n } else {\n $.rup.errorGestor(FUNCTION_NOT_SUPPORTED_ERROR_MESSAGE, FUNCTION_NOT_SUPPORTED_ERROR_TITLE);\n }\n },\n /**\n * Deshabilita varias opciones del select. Las opciones se identifican mediante un array.\n *\n * @function disableOptArr\n * @param {string[]} optValueArr - Array en el que se indican los values de las opciones a deshabilitar.\n * @example\n * $(\"#idSelect\").rup_select(\"disableOptArr\", [\"opt1\",\"opt2\"]);\n */\n disableOptArr: function disableOptArr(optValueArr) {\n if ($(this).data('settings').multiple) {\n for (var i = 0; i < optValueArr.length; i++) {\n $(this).rup_select('disableOpt', optValueArr[i]);\n }\n } else {\n $.rup.errorGestor(FUNCTION_NOT_SUPPORTED_ERROR_MESSAGE, FUNCTION_NOT_SUPPORTED_ERROR_TITLE);\n }\n },\n /**\n * Habilita una opción de un select multiselección.\n *\n * @function enableOpt\n * @param {string} enableOpt - Value del option que queremos habilitar.\n * @example\n * $(\"#idSelect\").rup_select(\"enableOpt\", \"opt1\");\n */\n enableOpt: function enableOpt(optValue) {\n if ($(this).data('settings').multiple) {\n //Habilitar select\n this.find('[value=\\'' + optValue + '\\']').removeAttr('disabled');\n var obj = $('#rup-multiCombo_' + $(this).attr('id')).find('[value=\\'' + optValue + '\\']');\n\n //Habilitar input\n obj.removeAttr('disabled');\n\n //Estilos línea (label)\n obj.parent().css('color', 'black');\n\n //Si pertenece a OptGroup y es el primero en habilitarse > Cambiar estilos optGroupLabel\n if ($(this).data('settings').sourceGroup != undefined) {\n //Obtener inicio optGroup\n var li = obj.parentsUntil('ul').last().prevAll('li.ui-multiselect-optgroup-label').first();\n\n //Estilos optGroup\n if (li.children('a').length === 0) {\n li.css('color', 'black');\n this._generateOptGroupLabel(li, $(this).data('settings').multiOptgroupIconText);\n }\n }\n } else {\n $.rup.errorGestor(FUNCTION_NOT_SUPPORTED_ERROR_MESSAGE, FUNCTION_NOT_SUPPORTED_ERROR_TITLE);\n }\n },\n /**\n * Habilita varias opciones del select. Las opciones se identifican mediante un array.\n *\n * @function enableOptArr\n * @param {string[]} optValueArr - Array en el que se indican los values de las opciones a habilitar.\n * @example\n * $(\"#idSelect\").rup_select(\"enableOptArr\", [\"opt1\",\"opt2\"]);\n */\n enableOptArr: function enableOptArr(optValueArr) {\n if ($(this).data('settings').multiple) {\n for (var i = 0; i < optValueArr.length; i++) {\n $(this).rup_select('enableOpt', optValueArr[i]);\n }\n } else {\n $.rup.errorGestor(FUNCTION_NOT_SUPPORTED_ERROR_MESSAGE, FUNCTION_NOT_SUPPORTED_ERROR_TITLE);\n }\n },\n /**\n * Ordena alfanumericamente y en orden ascendente el combo sobre el que se aplica. Se invoca por defecto al cargarse los combos a no ser que se cambie el valor del atributo ordered en la creación.\n *\n * @function order\n * @param {boolean} orderedByValue - Indica si la búsqueda es por texto (por defecto) o si la búsqueda es por el valor.\n * @param {boolean} orderAsNumber - Indica si se debe ordenar como valores numéricos en vez de alfabéticos.\n * @param {boolean} skipFirst - Determina si se debe obviar el primer elemento.\n * @example\n * $(\"#idSelect\").rup_select(\"order\", orderedByValue, orderAsNumber, skipFirst);\n */\n order: function order(groups, orderedByValue, orderAsNumber) {\n /* Get options */\n var selector = $(this).data('select2') || $(this).parent().data('select2');\n var settings = selector.options.options;\n if (groups) {\n $(this).find('optgroup').each(function () {\n $(this).rup_select('order', false, orderedByValue, orderAsNumber);\n });\n //Order children\n if (settings.data != undefined) {\n $(settings.data).each(function () {\n if (this.children != undefined && this.children.length > 0) {\n this.children = this.children.sort(function (a, b) {\n return a.text.localeCompare(b.text);\n });\n }\n });\n }\n } else {\n var selectList = $(this).find('option').not('[value=' + settings.blank + ']');\n var option = $(this).find('option[value=' + settings.blank + ']');\n /* Order by innerText (case insensitive) */\n selectList.sort(function (a, b) {\n return a.innerText.localeCompare(b.innerText);\n });\n\n /* Re-do select HTML */\n $(this).html(selectList);\n if (option.length == 1) {\n $(this).prepend(option);\n }\n }\n },\n /**\n * Lanza una búsqueda en el autocomplete con el parámetro indicado y el foco va a parar al input.\n *\n * @param {string} term - Cadena de texto utilizada para realizar la búsqueda.\n * @param {boolean} notOthersClose - Si deseas cerrar el resto de componentes.\n * @function search\n * \n * @example\n * $(\"#idSelect\").rup_select(\"search\", \"java\");\n */\n search: function search(term, notOthersClose) {\n var $search = $(this).data('select2').dropdown.$search || $(this).data('select2').mySelect.selection.$search;\n if (!notOthersClose) {\n $('.select2-hidden-accessible').select2('close');\n }\n $(this).data('select2').$container.find('input').val(term);\n if ($search != undefined) {\n $search.val(term);\n $(this).data('settings').selected = term;\n $search.trigger('keyup');\n }\n },\n /**\n * Permite consultar y modificar la configuración del componente.\n *\n * @param {string | object} optionName - Nombre de la propiedad que se desea gestionar o objeto de compuesto de varias propiedades.\n * @param {*} [value] - Corresponde al valor de la propiedad en caso de haberse especificado el nombre de la misma en el primér parámetro.\n * @param {*} aux - Parámetro extra de confirguración para la propiedad \"source\".\n * @function option\n * @example\n * // Establecer una propiedad\n * $(\"#idSelect\").rup_select(\"option\", \"minimumResultsForSearch\", 2);\n * // Establecer varias propiedad\n * $(\"#idSelect\").rup_select(\"option\", {minimumResultsForSearch:2, delay:1000});\n */\n option: function option(optionName, value, removeOptions) {\n var settings = $(this).data('settings');\n settings[optionName] = value;\n $(this).select2(\"destroy\");\n if (removeOptions) {\n $(this).find('option').remove();\n }\n $(this).rup_select(settings);\n },\n /**\n * Permite abrir el componente.\n *\n * @param {boolean} notOthersClose - Si deseas cerrar el resto de componentes.\n * @function open\n * @example\n * // Establecer una propiedad\n * $(\"#idSelect\").rup_select(\"option\", true);\n */\n open: function open(notOthersClose) {\n if (!notOthersClose) {\n $('.select2-hidden-accessible').select2('close');\n }\n $(this).select2('open');\n },\n /**\n * Permite cerrar el componente.\n *\n * @param {boolean} notOthersClose - Si deseas cerrar el resto de componentes.\n * @function close\n * @example\n * // Establecer una propiedad\n * $(\"#idSelect\").rup_select(\"option\", true);\n */\n close: function close(notOthersClose) {\n if (!notOthersClose) {\n $('.select2-hidden-accessible').select2('close');\n }\n $(this).select2('close');\n },\n /**\n * Elimina el autocomplete.\n *\n * @function destroy\n * @example\n * $(\"#idSelect\").rup_select(\"destroy\");\n */\n destroy: function destroy(notRemoveOptions) {\n $(this).select2(\"destroy\");\n if (!notRemoveOptions) {\n $(this).find('option').remove();\n }\n }\n });\n\n // *******************************\n // DEFINICIÓN DE MÉTODOS PRIVADOS\n // *******************************\n $.fn.rup_select('extend', {\n /**\n * Selecciona el elemento correspondiente al label indicado\n * \n * @function _selectLabel\n * @private\n * @param {object}\n * selector - Referencia al objeto jQuery del select.\n * @param {object}\n * param - Value correspondiente.\n */\n _selectLabel: function _selectLabel(selector, param) {\n var $option;\n for (var i = 0; i < $('option', selector).length; i = i + 1) {\n $option = jQuery(selector).find('option').eq(i);\n if (jQuery(selector).find('option').eq(i).text() === param) {\n $(selector).selectmenu('index', $option.prop('index'));\n return true;\n }\n }\n return false;\n },\n /**\n * Obtener la opción vacía a partir del fichero de internacionalización\n * de la aplicación o del fichero por defecto.\n * \n * @function _getBlankLabel\n * @private\n * @param {string}\n * id - Identificador del fichero\n */\n _getBlankLabel: function _getBlankLabel(id) {\n var app = $.rup.i18n.app;\n // Comprueba si el select tiene su propio texto personalizado\n if (app[id] && app[id]._blank) {\n return app[id]._blank;\n }\n // Comprueba si la aplicacion tiene un texto definido para todos los\n // blank\n else if (app.rup_select && app.rup_select.blank) {\n return app.rup_select.blank;\n }\n // Si no hay textos definidos para los blank obtiene el por defecto\n // de UDA\n return $.rup.i18n.base.rup_select.blankNotDefined;\n },\n /**\n * Obtener valores de los selects padres (si no están cargados o valores\n * 'vacíos' devuelve null). En caso de disponer de varios selects padres\n * se devolverán separados por un caracter delimitador.\n * \n * @function _getParentsValues\n * @private\n * @param {object[]}\n * settings - Array con los elementos de configuración.\n * @param {boolean}\n * remote - Determina si la fuente de datos es remota o no.\n * @return {string} - Devuelve los values seleccionados de los selects\n * padres.\n */\n _getParentsValues: function _getParentsValues(settings, remote, multiValueToken) {\n var retorno = '';\n var parent = [];\n if (settings.parent == undefined) {\n return '';\n }\n if (typeof settings.parent == 'string') {\n parent.push(settings.parent);\n } else {\n parent = settings.parent;\n }\n var parentsFull = 0;\n $.each(parent, function (idx, parentId) {\n if (parentId != undefined && $('#' + parentId).val() != null) {\n //Si el padre es simple\n if (!$.isArray($('#' + parentId).val()) && $('#' + parentId).val().trim() != '') {\n if (settings.blank == $('#' + parentId).val()) {\n retorno = '';\n } else {\n if (remote) {\n // PAra remoto\n retorno += $('#' + parentId).attr('name') + '=' + $('#' + parentId).val() + '&';\n } else {\n // PAra local\n if (retorno != '') {\n retorno = retorno + multiValueToken + $('#' + parentId).val();\n } else {\n retorno = $('#' + parentId).val();\n }\n }\n parentsFull = parentsFull + 1;\n }\n } else if ($.isArray($('#' + parentId).val()) && $('#' + parentId).val().length > 0) {\n // si el padre es multiple\n if (remote) {\n // PAra remoto\n retorno += $('#' + parentId).attr('name') + '=' + $('#' + parentId).val() + '&';\n } else {\n // PAra local\n if (retorno != '') {\n retorno = retorno + multiValueToken + $('#' + parentId).val();\n } else {\n retorno = $('#' + parentId).val();\n }\n }\n parentsFull = parentsFull + 1;\n }\n }\n });\n if (parentsFull < parent.length) {\n // si no estan todos los padres no\n // se busca.\n return '';\n }\n\n // Evitar & o multiValueToken finales\n if (retorno !== '' && remote) {\n retorno = retorno.substring(0, retorno.length - 1);\n }\n return retorno;\n },\n /**\n * Procesa el conjunto de registros devueltos por una petición sobre un\n * origen de datos local.\n * \n * @function _parseLOCAL\n * @private\n * @param {object[]}\n * data - Array de registros obtenidos a partir del origen de\n * datos.\n * @param {object}\n * i18nId - Opciones de idioma.\n * @param {jQuery}\n * isParent - Si tiene datos en forma parent.\n */\n _parseLOCAL: function _parseLOCAL(data, i18nId, isParent) {\n var text;\n var array = data;\n if (isParent) {\n // Si es padre llamar a la recursividad\n if (Array.isArray(data)) {\n data = data[0];\n }\n $.each(data, function (key, value) {\n data[key] = _this._parseLOCAL(data[key], i18nId, false);\n });\n } else {\n data = [];\n for (var i = 0; i < array.length; i = i + 1) {\n if (_typeof(array[i]) === 'object') {\n // multi-idioma\n if (array[i].i18nCaption) {\n text = $.rup.i18nParse($.rup.i18n.app[i18nId], array[i].i18nCaption);\n } else {\n text = array[i].text;\n }\n array[i].text = text;\n } else {\n // El id es el mismo que el texto.\n data[i] = {\n id: array[i],\n text: array[i]\n };\n }\n }\n if (data.length > 0) {\n // El id es el mismo que el texto.\n return data;\n }\n }\n return array;\n },\n /**\n * Procesa el conjunto de registros devueltos por una petición sobre un\n * origen de datos remoto.\n * \n * @function _parseRemoteGroup\n * @private\n * @param {object[]}\n * array - Array de registros obtenidos a partir del origen\n * de datos.\n * @param {object}\n * settings - Objeto de propiedades de configuración con el\n * que se ha inicializado el componente.\n */\n _parseRemoteGroup: function _parseRemoteGroup(array, settings) {\n var item;\n var data = [];\n for (var i = 0; i < array.length; i = i + 1) {\n item = array[i];\n var key = Object.keys(item)[0];\n var dato = {};\n dato.text = key;\n dato.children = item[key];\n dato.id = \"group__\" + i;\n data.push(dato);\n }\n return data;\n },\n /**\n * Prepara la petición AJAX que se va a realizar para obtener los\n * registros a partir de un origen remoto. Se añaden las cabeceras RUP\n * correspondientes para realizar la serialización json de manera\n * correcta.\n * \n * @function _ajaxBeforeSend\n * @private\n * @param {object}\n * xhr - Objeto xhr que se va a enviar en la petición\n * @param {object}\n * settings - Objeto de propiedades de configuración con el\n * que se ha inicializado el componente.\n * @param {jQuery}\n * html - Referencia al objeto jQuery que contiene los\n * elementos.\n */\n _ajaxBeforeSend: function _ajaxBeforeSend(xhr, settings, html) {\n // Crear select (vacío) y deshabilitarlo\n if (html !== undefined) {\n $('#' + settings.id).replaceWith(html);\n } // Si no es 'reload' se debe inicializar vacío\n\n $('#' + settings.id).rup_select('disable');\n\n // LOADING...\n $('#' + settings.id + '-button span:first-child').removeClass(\"ui-icon ui-icon-triangle-1-s\").addClass('rup-select_loadingText').text($.rup.i18n.base.rup_select.loadingText);\n var icon = $('#' + settings.id + '-button span:last-child');\n $(icon).removeClass('ui-icon-triangle-1-s');\n $(icon).text(''); // Evita errores de visualización con el icono\n $(icon).addClass('rup-select_loading');\n\n // Cabecera RUP\n xhr.setRequestHeader('RUP', $.toJSON(settings.sourceParam));\n },\n /**\n * Procesa la respuesta de la petición AJAX en el caso de que se haya\n * producido un error en la misma.\n * \n * @function _ajaxError\n * @private\n * @param {object}\n * xhr - Objeto xhr enviado en la respuesta.\n * @param {string}\n * textStatus - Cadena identificadora del error que se ha\n * producido en la petición.\n * @param {object}\n * errorThrown - Objeto error correspondiente al que se ha\n * producido en la petición.\n * @param {object}\n * settings - Objeto de propiedades de configuración con el\n * que se ha inicializado el componente.\n */\n _ajaxError: function _ajaxError(xhr) {\n if (xhr.responseText !== null && xhr.responseTex !== undefined && xhr.responseText.length < 200) {\n $.rup.showErrorToUser(xhr.responseText);\n } else {\n $.rup.showErrorToUser($.rup.i18n.base.rup_select.ajaxError);\n }\n },\n /**\n * Carga la opción remoto.\n * \n * @function _loadRemote\n * @private\n * @param {object}\n * settings - Objeto de propiedades de configuración con\n * el que se ha inicializado el componente.\n * @return {jQuery} - Objeto jQuery con referencia al elemento que\n * contiene el foco.\n */\n\n _loadRemote: function _loadRemote(settings, first) {\n var rupSelect = this;\n settings.ajax = {\n url: settings.url,\n dataType: settings.dataType,\n processResults: function processResults(response) {\n // Require id y text, podemos permitir que no venga.\n if (settings.placeholder != undefined && !settings.multiple) {\n var elBlank = response.find(function (x) {\n return x.id == settings.blank;\n });\n if (elBlank == undefined && !settings.autocomplete) {\n response.unshift({\n id: settings.blank,\n text: settings.placeholder\n });\n }\n }\n if (settings.groups) {\n // PArsear para grupos.\n var results = [];\n $.each(response, function (index, value) {\n var key = Object.keys(value)[0];\n results[index] = {\n 'text': key,\n 'children': value[key]\n };\n });\n response = results;\n }\n settings.options = response;\n $('#' + settings.id).data('settings', settings);\n return {\n results: response\n };\n },\n cache: false,\n data: function data() {\n // Es necesario enviarlo vacío para que el componente subyacente no genere parámetros extra.\n //se hará en el transport\n return _this._getParentsValues(settings, true);\n },\n error: function error(xhr, textStatus, errorThrown) {\n if (settings.onLoadError !== null) {\n jQuery(settings.onLoadError(xhr, textStatus, errorThrown));\n } else {\n if (textStatus != 'abort') {\n //Si se hacen 2 llamadas se cancela la primera.\n rupSelect._ajaxError(xhr, textStatus, errorThrown);\n }\n console.log(textStatus);\n }\n }\n };\n if (settings.selected || settings.autocomplete && settings.defaultValue != undefined) {\n settings.firstLoad = true;\n }\n if (settings.parent != undefined && ($('#' + settings.parent).val() == null || $.isArray($('#' + settings.parent).val()) && $('#' + settings.parent).val().length == 0 || !$.isArray($('#' + settings.parent).val()) && $('#' + settings.parent).val().trim() === '')) {\n settings.firstLoad = false;\n }\n var __cache = [];\n var __lastQuery = null;\n settings.ajax.transport = function (params, success, failure) {\n // retrieve the cached key or default to _ALL_\n var __cachekey = params.data || '_ALL_';\n //Se actualiza el data, para mantener la misma función.\n if (!settings.autocomplete) {\n params.data = \"\";\n }\n var mySelect = $('#' + settings.id).data('select2');\n if (settings.autocomplete) {\n params.data.q = mySelect.$container.find('input').val();\n __cachekey = params.data.q;\n }\n if (__lastQuery !== __cachekey) {\n // remove caches not from last query\n __cache = [];\n }\n __lastQuery = __cachekey;\n //Si esta cacheado, no busca\n if (settings.cache == true && 'undefined' !== typeof __cache[__cachekey]) {\n // display the cached results\n success(__cache[__cachekey]);\n // Marca el valor definido como seleccionado.\n if (!settings.autocomplete && settings.selected) {\n $('#' + settings.id).rup_select('setRupValue', settings.selected);\n }\n return;\n }\n mySelect.$results.find('li').addClass('disabledButtonsTable');\n mySelect.$selection.find('input').addClass('disabledButtonsTable');\n mySelect.$selection.find('input').blur();\n //Si tiene padres deshabilitarlos\n if (settings.parent) {\n if (typeof settings.parent === 'string') {\n $('#' + settings.parent).rup_select(\"disable\");\n } else {\n $.each(settings.parent, function (ind, elem) {\n $('#' + elem).rup_select(\"disable\");\n });\n }\n }\n var $request = undefined;\n if (settings.autocomplete) {\n //Meter busqueda accentFolding\n var term = '';\n term = params.data.q;\n term = term.replace(/%/g, '\\\\%').replace(/_/g, '\\\\_');\n params.data = $.extend({\n q: term,\n c: settings.contains\n }, settings.extraParams);\n }\n if (settings.parent) {\n var datosParent = _this._getParentsValues(settings, true);\n if (datosParent != '') {\n if (settings.autocomplete) {\n //añadir el data del padre\n var padres = datosParent.split('&'); //split por si tiene varios padres\t\n $.each(padres, function () {\n if (this !== undefined) {\n var cad = this.split('=');\n if (cad != undefined && cad.length > 0) {\n params.data[cad[0]] = cad[1];\n __cachekey = __cachekey + cad[1]; //se añade la parte del padre\n }\n }\n });\n } else if (params.url.indexOf(datosParent) < 0) {\n // Aseguramos que mete el valor del padre.\n params.url = params.url + '?' + datosParent;\n }\n $request = $.ajax(params);\n }\n } else {\n $request = $.ajax(params);\n }\n if ($request != undefined) {\n $request.then(function (data) {\n // Vuelve la peticion\n\n // store data in cache\n __cache[__cachekey] = data;\n // display the results\n $('#' + settings.id).rup_select(\"enable\");\n //Si tiene padres deshabilitarlos\n if (settings.parent) {\n if (typeof settings.parent === 'string') {\n $('#' + settings.parent).rup_select(\"enable\");\n } else {\n $.each(settings.parent, function (ind, elem) {\n $('#' + elem).rup_select(\"enable\");\n });\n }\n }\n success(__cache[__cachekey]);\n // Actualizar seleccionado en la lista//css\n var positions = [];\n var valueSelect = settings.selected ? settings.selected : $('#' + settings.id).rup_select('getRupValue');\n if (settings.groups) {\n // Parseo de grupos para\n // seleccionar\n var allFacts = [];\n // grupos\n for (var i = 0; i < data.length; i = i + 1) {\n if (_typeof(data[i]) === 'object') {\n $.each(data[i], function (key, value) {\n if (_typeof(value) === 'object') {\n $.each(value, function () {\n this.id = String(this.id);\n allFacts.push(this);\n });\n }\n });\n }\n }\n data = allFacts;\n settings.optionsGroups = data;\n }\n //Se obliga a que las claves sean String recomendado por select2\n var seleccionado = $.grep(data, function (v, index) {\n if (v.id === undefined && v[settings.sourceParam.id] !== undefined) {\n v.id = String(v[settings.sourceParam.id]);\n } else {\n v.id = String(v.id);\n }\n if (v.text === undefined && v[settings.sourceParam.text] !== undefined) {\n v.text = v[settings.sourceParam.text];\n }\n if (settings.multiple) {\n var selectMultiple = $.grep(valueSelect, function (h) {\n return String(h) == v.id;\n });\n // solo se admite un valor.\t\n if (selectMultiple !== undefined && selectMultiple.length > 0) {\n positions.push(settings.blank == \"\" ? index - 1 : index);\n return v.id == selectMultiple[0];\n }\n if (settings.parent) {\n //Actualizar la cabecera de multiples\n mySelect.trigger('selection:update', []);\n }\n } else {\n if (v.id == valueSelect) {\n positions.push(settings.blank == \"\" ? index - 1 : index);\n }\n return v.id == settings.selected;\n }\n });\n if ($('#' + settings.id).rup_select('getRupValue') != '') {\n seleccionado = $.grep(data, function (v) {\n return v.id == $('#' + settings.id).rup_select('getRupValue');\n });\n }\n // Si es el mismo, no cambia porque esta abriendo\n if (seleccionado !== undefined && seleccionado.length >= 1 && $('#' + settings.id).rup_select('getRupValue') != seleccionado[0].id) {\n if (settings.multiple) {\n // Revisar varios selects\n var dats = [];\n $.each(seleccionado, function (index, valor) {\n dats.push(valor.id);\n });\n $('#' + settings.id).rup_select('setRupValue', dats);\n } else {\n $('#' + settings.id).rup_select('setRupValue', seleccionado[0].id);\n }\n $.each(positions, function (index, valor) {\n var $option = $('#' + settings.id).data('select2').$results.find('li')[valor];\n if ($option != undefined) {\n $($option).attr('aria-selected', 'true');\n }\n });\n } else {\n if (settings.autocomplete) {\n var valorInput = mySelect.selection.$selection.find('input').val();\n $('#' + settings.id).rup_select('setRupValue', seleccionado.length == 1 ? seleccionado[0].id : settings.blank);\n mySelect.selection.$selection.find('input').val(valorInput);\n mySelect.selection.$selection.find('input').focus();\n } else {\n $('#' + settings.id).rup_select('setRupValue', seleccionado.length == 1 ? seleccionado[0].id : settings.blank);\n }\n }\n if (settings.onLoadSuccess !== null && settings.onLoadSuccess !== undefined) {\n jQuery(settings.onLoadSuccess($('#' + settings.id)));\n }\n $('#' + settings.id).data('settings', settings);\n $('#' + settings.id).triggerHandler('selectAjaxSuccess', [data]);\n if (settings.firstLoad) {\n if (settings.autocomplete && settings.selected == undefined && settings.defaultValue != undefined && data != undefined && ($('#' + settings.id).rup_select('getRupValue') == '' || $('#' + settings.id).rup_select('getRupValue') == settings.blank)) {\n //setear el valor para el defaultValue\n var datos2 = $.grep(data, function (v) {\n return v.text.toUpperCase() === settings.defaultValue.toUpperCase();\n });\n if (datos2[0] != undefined) {\n $('#' + settings.id).rup_select('setRupValue', datos2[0].id);\n }\n }\n settings.firstLoad = false;\n settings.selected = $('#' + settings.id).rup_select('getRupValue');\n }\n });\n $request.fail(failure);\n } else {\n // cerrar\n $('#' + settings.id).select2('close');\n if (settings.parent) {\n if (typeof settings.parent === 'string') {\n $('#' + settings.parent).rup_select(\"enable\");\n } else {\n $.each(settings.parent, function (ind, elem) {\n $('#' + elem).rup_select(\"enable\");\n });\n }\n }\n }\n return $request;\n };\n if (settings.ajax !== undefined) {\n if (settings.data !== undefined) {\n // PAra añadir más parametros de\n // busqueda\n settings.ajax.data = settings.data;\n }\n if (settings.autocomplete) {\n //busqueda accentFolding\n var term = '';\n var mySelect = $('#' + settings.id).data('select2');\n if ($('input.select2-search__field') != undefined && $('input.select2-search__field').val() != undefined) {\n term = $('input.select2-search__field').val();\n }\n if (settings.contains == undefined) {\n settings.contains = true;\n }\n term = term.replace(/%/g, '\\\\%').replace(/_/g, '\\\\_');\n settings.ajax.data = $.extend({\n q: term,\n c: settings.contains\n }, settings.extraParams);\n }\n if (settings.sourceParam) {\n // modifica el header para parsear\n // la response\n settings.ajax.headers = {\n 'RUP': $.toJSON(settings.sourceParam)\n };\n }\n if (settings.processResults) {\n // modifica los results\n settings.ajax.processResults = settings.processResults;\n }\n }\n if (settings.multiple) {\n $('#' + settings.id).select2MultiCheckboxes(settings);\n } else {\n if (settings.placeholder == undefined || settings.placeholder == '') {\n // si es vació se asigna el label\n settings.placeholder = rupSelect._getBlankLabel(settings.id);\n }\n if (settings.autocomplete) {\n $('#' + settings.id).select2MultiCheckboxes(settings);\n if (settings.spaceEnable) {\n //permitir en la busqueda en espacio\n sel = $('#' + settings.id).data('select2').selection;\n sel.$selection.off('keydown');\n }\n } else {\n $('#' + settings.id).select2(settings);\n }\n }\n if (settings.firstLoad) {\n // ejecutar los datos\n\n var $el = $('#' + settings.id);\n var _mySelect = $el.data('select2');\n var $search = _mySelect.dropdown.$search || _mySelect.selection.$search;\n if (settings.autocomplete && settings.defaultValue != undefined) {\n _mySelect.$container.find('input').val(settings.defaultValue);\n }\n if ($search != undefined) {\n $search.trigger('keyup');\n $el.select2('close');\n } else {\n _mySelect.selection.trigger('toggle');\n $el.select2('close');\n }\n }\n },\n /**\n * Método de inicialización del componente.\n * \n * @function _textIcon\n * @private\n * @param {object}\n * data - Dato que llega, por cada registro.\n */\n _textIcon: function _textIcon(data) {\n var stylePosition = 'M'; // B - Before , M - middle , A - After\n // adjust for custom placeholder values, restaurar\n if (data.stylePosition === undefined) {\n // usar la de defecto\n data.stylePosition = stylePosition;\n }\n var _span = $('');\n var icon = $('');\n if (data.imgStyle) {\n // en lugar d mdi,clase icon.\n _span.addClass(data.style);\n icon = $('');\n if (data.stylePosition.toUpperCase() === 'M') {\n data.stylePosition = 'B'; // en caso de ser span, no\n // admite texto en medio\n }\n }\n if (data.stylePosition.toUpperCase() === 'M') {\n icon.prepend(data.text);\n } else if (data.stylePosition.toUpperCase() === 'B') {\n _span.prepend(data.text);\n }\n _span.prepend(icon);\n if (data.stylePosition.toUpperCase() === 'A') {\n _span.prepend(data.text);\n }\n return _span;\n },\n /**\n * Método de inicialización del componente.\n * \n * @function _createOption\n * @private\n * @param {object}\n * settings - Objeto de propiedades de configuración con el\n * que se ha inicializado el componente.\n * @param {object}\n * data - Dato que llega, por cada registro.\n */\n _createOption: function _createOption(settings, data) {\n var newOption = new Option(data.text, data.id, false, false);\n if (data.style != null) {\n newOption.setAttribute('style', data.style);\n newOption.setAttribute('imgStyle', data.imgStyle);\n }\n $('#' + settings.id).append(newOption);\n },\n /**\n * Método de inicialización del componente.\n * \n * @function _init\n * @private\n * @param {object}\n * args - Parámetros de inicialización del componente.\n */\n _init: function _init(args) {\n var _this2 = this;\n _this = this;\n global.initRupI18nPromise.then(function () {\n if (args.length > 1) {\n $.rup.errorGestor($.rup.i18nParse($.rup.i18n.base, 'rup_global.initError') + $(_this2).attr('id'));\n } else {\n // Se recogen y cruzan las paremetrizaciones del objeto\n var settings = $.extend({}, $.fn.rup_select.defaults, args[0]),\n html,\n loadAsLocal = false,\n isValidableElem = false,\n attrs;\n\n // Se recoge el tabindex indicado en el elemento\n settings.tabindex = $(_this2).attr('tabindex');\n\n // Sobreescribir literales por defecto para\n // multiselect:REVISAR\n // $.extend($.ech.multiselect.prototype.options,\n // $.rup.i18n.base.rup_select.multiselect);\n\n // Se carga el identificador del padre del patron\n settings.id = $.rup_utils.escapeId($(_this2).attr('id'));\n if ($(_this2).attr('name') === undefined) {\n $(_this2).attr('name', settings.id);\n }\n settings.name = $(_this2).attr('name');\n $('#' + settings.id).attr('ruptype', 'select');\n\n // Si no se recibe identificador para el acceso a literales\n // se usa el ID del objeto\n if (!settings.i18nId) {\n settings.i18nId = settings.id;\n }\n\n // Guardar valor del INPUT\n settings.inputValue = $('#' + settings.id).val() === null ? $('#' + settings.id).prop('value') : $('#' + settings.id).val();\n attrs = $(_this2).prop('attributes');\n\n // Revisar apra el select\n if (settings.firstLoad === null && $(_this2).is('select') && settings.loadFromSelect) {\n loadAsLocal = true;\n }\n\n // Asociar evento CHANGE para propagar cambios a los hijos\n $('#' + settings.id).on('change', function () {});\n\n // tratar placeHolder\n if (settings.placeholder !== undefined && typeof settings.placeholder == 'string') {\n if (!settings.allowClear) {\n settings.templateSelection = function (data, span) {\n if (data.id === settings.blank) {\n // adjust\n // for\n // custom\n // placeholder\n // values,\n // restaurar\n return $('' + data.text + '');\n }\n chargedStyles(data);\n if (data.style != null && data.id !== settings.blank) {\n // adjust for custom placeholder values,\n // restaurar\n return _this._textIcon(data);\n }\n return data.text;\n };\n if (settings.placeholder == '') {\n // si es vació se\n // asigna el label\n settings.placeholder = _this2._getBlankLabel(settings.id);\n }\n if (settings.data !== undefined && !settings.multiple) {\n // y si\n // no\n // es\n // multiple\n if (settings.parent == undefined) {\n // Si no tiene padre se mete en todos los\n // valores, sino solo al data,\n settings.data.unshift({\n id: settings.blank,\n text: settings.placeholder\n });\n } else {\n $.each(settings.data, function (index, value) {\n value.unshift({\n id: settings.blank,\n text: settings.placeholder\n });\n });\n }\n }\n } else if ($('#' + settings.id).find('option').length == 0) {\n // revisar\n // y\n // crear\n // option\n // vacio.\n $('#' + settings.id).append(new Option(\"\", \"\"));\n }\n }\n\n // Crear mi template, myTemplate\n if (settings.myTemplate !== undefined) {\n settings.templateSelection = settings.myTemplate;\n }\n if (settings.templateResult === undefined) {\n if (settings.multiple && settings.udaSkill) {\n // Si es\n // multiple,\n // los\n // results\n // cambian\n // settings.templateSelection\n settings.templateSelection = function (data, span) {\n // Template de Uda\n return data.text;\n };\n } else {\n // si no es multiple\n if (settings.templateSelection !== undefined) {\n // mirar\n // los\n // iconos\n settings.templateResult = function (data, span) {\n chargedStyles(data);\n if (data.id === settings.blank) {\n return $('' + data.text + '');\n } else if (data.style != null && data.id !== settings.blank) {\n // adjust\n // for\n // custom\n // placeholder\n // values,\n // restaurar\n return _this._textIcon(data);\n }\n return data.text;\n };\n } else {\n settings.templateResult = function (data, span) {\n chargedStyles(data);\n if (data.style != null && data.id !== settings.blank) {\n // adjust\n // for\n // custom\n // placeholder\n // values,\n // restaurar\n return _this._textIcon(data);\n }\n return data.text;\n };\n settings.templateSelection = settings.templateResult;\n }\n }\n }\n\n // Borrar referencia\n // delete html;\n\n // Ocultar posibles elementos de fechas/horas\n $('#' + settings.id).next('a').click(function () {\n $('#ui-datepicker-div').hide();\n });\n\n // Añade clase Personalizada\n if (settings.customClasses) {\n $.each(settings.customClasses, function (index, value) {\n $('#' + settings.id + '-button' + ', #' + settings.id + '-menu').addClass(value);\n $('[for=' + settings.id + ']').addClass(value);\n });\n }\n\n // Si no se recibe identificador para el acceso a literales\n // se usa el ID del objeto\n if (!settings.i18nId) {\n settings.i18nId = settings.id;\n }\n\n // ORDEN\n var ordenFunction = function ordenFunction(data) {\n if (typeof data === 'string') {\n var dates = data.sort(function (a, b) {\n return a.text.localeCompare(b.text);\n });\n var mySettings = $('#' + settings.id).data('settings');\n mySettings.options = dates;\n $('#' + settings.id).data('settings', mySettings);\n return dates;\n }\n return data;\n };\n if (settings.data || settings.dataGroups) {\n // local y\n // groups\n if (settings.sortered === true) {\n // PAra añadir\n // ordenación, en local\n // hay que marcarlo\n settings.sorter = ordenFunction;\n } else if (settings.sortered !== false) {\n settings.sorter = settings.sortered;\n }\n if (settings.dataGroups === undefined) {\n // LOcal\n settings.data = _this2._parseLOCAL(settings.data, settings.i18nId, settings.parent);\n } else {\n // grupos\n var optionsGroups = [];\n for (var i = 0; i < settings.dataGroups.length; i = i + 1) {\n if (_typeof(settings.dataGroups[i]) === 'object') {\n settings.dataGroups[i].children = _this2._parseLOCAL(settings.dataGroups[i].children, settings.i18nId, settings.parent);\n for (var j = 0; j < settings.dataGroups[i].children.length; j = j + 1) {\n optionsGroups.push(settings.dataGroups[i].children[j]);\n }\n }\n }\n settings.optionsGroups = optionsGroups;\n settings.data = settings.dataGroups;\n }\n } else if (!settings.ajax && settings.url != null) {\n // remoto\n if (settings.sortered === undefined) {\n // PAra añadir\n // ordenación, en\n // remoto siempre se\n // ordena por\n // defecto.\n settings.sorter = ordenFunction;\n } else if (settings.sortered !== false) {\n settings.sorter = settings.sortered;\n }\n _this2._loadRemote(settings, true);\n } else {\n // por si viene cargado de un select\n settings.data = true;\n if (settings.parent) {\n //convertir el data, formato parent\t\n settings.data = [];\n $('#' + settings.id).find('option').each(function () {\n var idPadre = $(this).data('idpadre');\n if (idPadre != undefined) {\n //si no existe\n if (settings.data[idPadre] === undefined) {\n settings.data[idPadre] = [];\n if (settings.placeholder != undefined || settings.placeholder != '') {\n settings.data[idPadre].push({\n id: settings.blank,\n text: settings.placeholder\n });\n }\n }\n settings.data[idPadre].push({\n id: $(this).val(),\n text: $(this).text()\n });\n }\n });\n }\n }\n\n // Init eventos: El resto van en el propio subyacente\n // Change\n if (settings.change) {\n if (!settings.clean) {\n $('#' + settings.id).off('select2:clearing');\n $('#' + settings.id).on('select2:clearing', function (e) {\n settings.change(e);\n });\n }\n }\n // clean\n if (settings.clean) {\n $('#' + settings.id).off('select2:clearing');\n $('#' + settings.id).on('select2:clearing', function (e) {\n settings.clean(e);\n });\n }\n // event select\n\n $('#' + settings.id).off('select2:select');\n $('#' + settings.id).on('select2:select', function (e) {\n settings.selected = e.params.data.id;\n if (settings.autocomplete) {\n //Change input\n var mySelect2 = $('#' + settings.id).data('select2');\n var data = $(this).select2('data')[0];\n mySelect2.$selection.find('input').val(data.text);\n }\n if (settings.select) {\n settings.select(e);\n }\n if (settings.change) {\n settings.change(e);\n }\n });\n if (settings.data) {\n // local y groups\n if (settings.parent) {\n // si depende de otro selects.\n // Si es uno meterlo como string - local\n if (_typeof(settings.parent) == 'object' && settings.parent.length == 1) {\n settings.parent = settings.parent[0];\n }\n if (settings.dataParents === undefined) {\n // la\n // primera\n // vez carga\n // los datos\n // fijos.\n settings.dataParents = settings.data;\n }\n var valorValue = _this._getParentsValues(settings, false, settings.multiValueToken);\n if (valorValue != '') {\n valoresParent = settings.dataParents[valorValue];\n if (valoresParent == undefined && settings.dataParents[0] != undefined) {\n valoresParent = settings.dataParents[0][valorValue];\n }\n settings.data = valoresParent;\n if (settings.data == undefined) {\n settings.data = [];\n }\n }\n }\n if (settings.multiple) {\n $('#' + settings.id).select2MultiCheckboxes(settings);\n } else {\n if (settings.placeholder == undefined || settings.placeholder == '') {\n // si es vació se asigna el label\n settings.placeholder = _this._getBlankLabel(settings.id);\n }\n if (settings.autocomplete) {\n //local y autocomplete\n if (settings.matcher == undefined && settings.accentFolding == false) {\n settings.matcher = udaMatcher;\n }\n $('#' + settings.id).select2MultiCheckboxes(settings);\n var mySelect2 = $('#' + settings.id).data('select2');\n if (settings.spaceEnable) {\n //permitir en la busqueda en espacio\n mySelect2.$selection.off('keydown');\n }\n if (settings.defaultValue != undefined) {\n mySelect2.$selection.find('input').val(settings.defaultValue);\n if (settings.selected == undefined && mySelect2.dataAdapter._dataToConvert != undefined && mySelect2.dataAdapter._dataToConvert.length > 0) {\n var data = $.grep(mySelect2.dataAdapter._dataToConvert, function (v) {\n return v.text.toUpperCase() === settings.defaultValue.toUpperCase();\n });\n if (data[0] != undefined) {\n settings.selected = data[0].id;\n }\n }\n }\n } else {\n $('#' + settings.id).select2(settings);\n }\n //Propiedad para deselecionar una mismo en simple.\n if (settings.deleteOnDeselect) {\n var _mySelect2 = $('#' + settings.id).data('select2');\n _mySelect2.on('close', function (e) {\n if (Object.keys(e).length === 1) {\n _mySelect2.$selection.find('input').val('');\n settings.selected = undefined;\n $('#' + settings.id).val(null).trigger('change');\n if (!settings.closeOnSelect) {\n $('#' + settings.id).select2('open');\n }\n }\n });\n }\n }\n if (settings.selected) {\n $('#' + settings.id).val(settings.selected).trigger('change');\n }\n // cargar los options\n settings.options = settings.data;\n } else {\n //Remotos\n //Propiedad para deselecionar una mismo en simple.\n if (settings.deleteOnDeselect) {\n var remotoSelect = $('#' + settings.id).data('select2');\n remotoSelect.on('close', function (e) {\n if (Object.keys(e).length === 1) {\n remotoSelect.$selection.find('input').val('');\n settings.selected = undefined;\n $('#' + settings.id).val(null).trigger('change');\n if (!settings.closeOnSelect) {\n $('#' + settings.id).select2('open');\n }\n }\n });\n }\n }\n if (settings.parent) {\n // si dependen de otros selects\n // Mirar si es simple o no\n var parent = [];\n if (typeof settings.parent == 'string') {\n parent.push(settings.parent);\n } else {\n // Si es uno meterlo como string -remoto\n if (settings.parent.length == 1) {\n settings.parent = settings.parent[0];\n parent.push(settings.parent);\n } else {\n parent = settings.parent;\n }\n }\n // Bucle para eventos Padres\n $.each(parent, function (idx, eventoPadre) {\n $('#' + eventoPadre).off('change.parent' + settings.id);\n $('#' + eventoPadre).on('change.parent' + settings.id, function () {\n // Cambios\n // para\n // los\n // hijos,onchange\n // del\n // padre\n\n // Si soy local\n if (settings.data !== undefined) {\n if (_typeof(settings.parent) == 'object') {\n // Si\n // tiene\n // más\n // de\n // un\n // padre\n var clave = '';\n var ClaveNoCifrar = '';\n if (settings.multiValueToken == undefined) {\n settings.multiValueToken = '';\n }\n $.each(settings.parent, function (ind, elem) {\n var val = $('#' + elem).rup_select('getRupValue');\n clave = clave + val + settings.multiValueToken;\n var dataSelected = $('#' + elem).rup_select(\"getDataSelected\");\n if (dataSelected !== undefined) {\n val = dataSelected.id;\n ClaveNoCifrar = ClaveNoCifrar + val + settings.multiValueToken;\n }\n });\n clave = clave.substring(0, clave.length - settings.multiValueToken.length);\n ClaveNoCifrar = ClaveNoCifrar.substring(0, ClaveNoCifrar.length - settings.multiValueToken.length);\n var datosParents = settings.dataParents[0] || settings.dataParents;\n if (datosParents[clave] != undefined || datosParents[ClaveNoCifrar] != undefined) {\n // Datos\n // Cargados\n var valores = datosParents[clave] || datosParents[ClaveNoCifrar];\n settings.data = datosParents;\n $('#' + settings.id).rup_select(\"setSource\", valores);\n }\n } else {\n // si tiene un solo padre\n var val = $('#' + settings.parent).rup_select('getRupValue');\n if (val != settings.blank && val != '') {\n $('#' + settings.id).rup_select(\"enable\");\n var _valores = undefined;\n //si es multiple sera un array.\n if ($.isArray(val)) {\n _valores = [];\n $.each(val, function (ind, elem) {\n _valores = _valores.concat(settings.dataParents[elem]);\n });\n } else {\n _valores = settings.dataParents[val];\n }\n settings.data = settings.dataParents;\n if (_valores == undefined) {\n // Si no\n // hay\n // valor,\n // se\n // inicializa\n _valores = [];\n }\n $('#' + settings.id).rup_select(\"setSource\", _valores);\n } else {\n //deshabilitamos el hijo\n $('#' + settings.id).rup_select(\"disable\");\n }\n }\n\n // Aseguramos el valor limpio al cambiar el\n // padre\n $('#' + settings.id).rup_select(\"setRupValue\", settings.blank);\n } else {\n // si soy Remoto\n\n var datosParent = _this._getParentsValues(settings, true);\n\n // Sola llamar si el padre tiene valor.\n if (datosParent != '') {\n $('#' + settings.id).rup_select(\"disable\");\n // ejecutar los datos\n var $el = $('#' + settings.id);\n var $search = $el.data('select2').dropdown.$search || $el.data('select2').selection.$search;\n //al tener padre, si es multiple init\n if (settings.multiple) {\n selection = $el.data('select2').$selection.find('.select2-selection__rendered');\n texto = $el.data('select2').options.options.templateSelection({\n selected: [],\n all: []\n }, selection);\n selection.text(texto);\n }\n if (settings.autocomplete) {\n $el.data('select2').$container.find('input').val('');\n }\n if ($search != undefined) {\n $search.trigger('keyup');\n $el.select2('close');\n }\n if (!settings.multiple && $(\"#\" + settings.id).val() != null && $(\"#\" + settings.id).val().trim() != '') {\n $(\"#\" + settings.id).val(null).trigger('change');\n } else if (settings.multiple && $(\"#\" + settings.id).val() != null && $(\"#\" + settings.id).val().length > 0) {\n $(\"#\" + settings.id).val(null).trigger('change');\n }\n setTimeout($('#' + settings.id).rup_select(\"enable\"), 200);\n } else if (!settings.multiple && $(\"#\" + settings.id).val() != null && $(\"#\" + settings.id).val().trim() != '') {\n $(\"#\" + settings.id).val(null).trigger('change');\n $('#' + settings.id).rup_select(\"disable\");\n } else if (settings.multiple && $(\"#\" + settings.id).val() != null && $(\"#\" + settings.id).val().length > 0) {\n $(\"#\" + settings.id).val(null).trigger('change');\n $('#' + settings.id).rup_select(\"disable\");\n }\n }\n });\n });\n // Fin funcion evento padre\n }\n $('#' + settings.id).data('settings', settings);\n //Si es remoto, el último evento es: selectAjaxSuccess\n $('#' + settings.id).triggerHandler('selectFinish', settings);\n }\n })[\"catch\"](function (error) {\n console.error('Error al inicializar el componente:\\n', error);\n });\n }\n });\n\n // ******************************************************\n // DEFINICIÓN DE LA CONFIGURACION POR DEFECTO DEL PATRON\n // ******************************************************\n\n /**\n * Función a ejecutar en caso de producirse un error a la hora de obtener\n * los elementos a mostrar.\n * \n * @callback jQuery.rup_select~onLoadError\n * @param {Object}\n * xhr - Objeto XHR que contiene la respuesta de la petición\n * realizada.\n * @param {string}\n * textStatus - Texto que identifica el error producido.\n * @param {Object}\n * errorThrown - Objeto error que contiene las propiedades del\n * error devuelto en la petición.\n */\n\n /**\n * Función a ejecutar en caso de producirse un error a la hora de obtener\n * los elementos a mostrar.\n * \n * @callback jQuery.rup_select~onLoadSuccess\n * @param {jQuery}\n * self - Referencia al objeto jQuery del propio select.\n */\n\n /**\n * @description Opciones por defecto de configuración del componente.\n * \n * @name defaults\n * \n * @property {jQuery.rup_select~onLoadError} [onLoadError] - Función de\n * callback a ejecutar en caso de que se produzca un error en la\n * petición de obtención de la lista de elementos a mostrar.\n * @property {string} [width='100%'] - Determina el tamaño del componente \n * tanto en píxeles como en porcentaje. Su valor por defecto es '100%'.\n * @property {string} [blank=null] - Se utiliza para declarar un valor\n * independiente de la lógica de negocio y en ocasiones se\n * representa como \"Seleccione un elemento\". Permite establecer un\n * mensaje independiente por cada select haciendo uso de\n * $.rup.i18n.app.id._blank (sustituyendo id por el propio de cada\n * select) o uno genérico por aplicación haciendo uso de\n * $.rup.i18n.app.rup_select.blank. En caso de no definir ninguno,\n * se usará el genérico de UDA,\n * $.rup.i18n.base.rup_select.blankNotDefined.\n * @property {string} [token=\"|\"] - Define el separador a utilizar cuando se\n * muestra el valor asociado al select concatenado al literal.\n * @property {string} [multiValueToken=\"##\"] - Define el separador a\n * utilizar en selects enlazados locales.\n * @property {boolean} [ordered=true] - Indica si el select debe ordenarse.\n * @property {boolean} [orderedByValue=false] - Indica si el la ordenación\n * del seelct debe realizarse por el valor de los elementos en\n * lugar de por el texto.\n * @property {jQuery.rup_select~onLoadSuccess} [onLoadSuccess=null] - Función\n * de callback a ejecutar en el caso de que la petición de carga\n * de datos se haya producido correctamente.\n * @property {boolean} [loadFromSelect=false] - Determina si se debe de\n * utilizar los elementos option del elemento html sobre el que se\n * inicializa el componente para inicializar los datos del\n * elemento.\n * @property {boolean} [multiOptgroupIconText=false] - Indica si se desea\n * que en la selección múltiple con grupos, el nombre del grupo\n * tenga descripción en los iconos para seleccionar/deseleccionar\n * los elementos del grupo.\n * @property {boolean} [submitAsString=false] - Indica si el envío de los\n * elementos seleccionados en la selección múltiple se realiza\n * como un literal separados por coma.\n * @property {boolean} [submitAsJSON=false] - Indica si el envío de los\n * elementos seleccionados en la selección múltiple se realiza\n * como un array JSON donde el nombre del mapa será el nombre del\n * select. En el caso de que el nombre contenga notación dot se\n * tomará el último literal. Ej: [{id:1}, {id:2}, …].\n * @property {boolean} [readAsString=false] - Determina si la asignación de\n * un valor inicial se va a realizar a partir de un string con los\n * ids de los elementos separados por comas en vez de un array de\n * json.\n * @property {boolean} [rowStriping=false] - Indica si se debe aplicar un\n * estilo diferente a las filas pares e impares para poder\n * distinguirlas mediante un color diferente.\n * @property {number} [typeAhead=false] - Especifica en milisegundos el\n * tiempo de espera que toma el componente antes de procesar los\n * eventos de escritura realizados por el usuario.\n * @property {number} [legacyWrapMode=false] - Determina si se emplea el\n * método obsoleto a la hora de empaquetar en objetos json los\n * elementos seleccionados. Su propósito es mantener la\n * retrocompatibilidad.\n * @property {boolean} [autocomplete=false] - Habilita la funcionalidad de\n * autocompletado, permitiendo hacer búsquedas sobre los resultados.\n */\n $.fn.rup_select.defaults = {\n onLoadError: null,\n width: '100%',\n customClasses: ['select-material'],\n blank: \"-1\",\n minimumResultsForSearch: Infinity,\n submitAsJSON: false,\n dataType: 'json',\n cache: true,\n multiple: false,\n defaultValueAutocompleteNotLoaded: false,\n multiValueToken: '##',\n spaceEnable: true\n };\n});\nfunction chargedStyles(data) {\n if (data.style === undefined && data.element !== undefined) {\n // mirar estilo\n data.style = data.element.getAttribute('style');\n data.imgStyle = data.element.getAttribute('imgStyle');\n if (data.style == null || data.style == 'undefined') {\n data.style = undefined;\n }\n if (data.style == null || data.imgStyle == 'undefined') {\n data.imgStyle = undefined;\n }\n }\n}\nfunction udaMatcher(params, data) {\n // Always return the object if there is nothing to compare\n if ($.trim(params.term) === '') {\n return data;\n } // Do a recursive check for options with children\n\n if (data.children && data.children.length > 0) {\n // Clone the data object if there are children\n // This is required as we modify the object to remove any non-matches\n var match = $.extend(true, {}, data); // Check each child of the option\n\n for (var c = data.children.length - 1; c >= 0; c--) {\n var child = data.children[c];\n var matches = matcher(params, child); // If there wasn't a match, remove the object in the array\n\n if (matches == null) {\n match.children.splice(c, 1);\n }\n } // If any children matched, return the new object\n\n if (match.children.length > 0) {\n return match;\n } // If there were no matching children, check just the plain object\n\n return matcher(params, match);\n }\n var original = data.text.toUpperCase();\n var term = params.term.toUpperCase(); // Check if the text contains the term\n\n if (original.indexOf(term) > -1) {\n return data;\n } // If it doesn't contain the term, don't return anything\n\n return null;\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"), __webpack_require__(/*! ./../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\"), __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack://rup/./src/rup.select.js?"); +eval("/* WEBPACK VAR INJECTION */(function(jQuery, global, $) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n/* eslint-disable no-useless-escape */\n\n/*!\r\n * Copyright 2021 E.J.I.E., S.A.\r\n *\r\n * Licencia con arreglo a la EUPL, Versión 1.1 exclusivamente (la «Licencia»);\r\n * Solo podrá usarse esta obra si se respeta la Licencia.\r\n * Puede obtenerse una copia de la Licencia en\r\n *\r\n * http://ec.europa.eu/idabc/eupl.html\r\n *\r\n * Salvo cuando lo exija la legislación aplicable o se acuerde por escrito,\r\n * el programa distribuido con arreglo a la Licencia se distribuye «TAL CUAL»,\r\n * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas.\r\n * Véase la Licencia en el idioma concreto que rige los permisos y limitaciones\r\n * que establece la Licencia.\r\n */\n\n/**\r\n * Permite al usuario recuperar un elemento de una gran lista de elementos o de\r\n * varias listas dependientes de forma sencilla y ocupando poco espacio en la\r\n * interfaz.\r\n * \r\n * @summary Componente RUP Select.\r\n * @module rup_select\r\n * @see El componente está basado en el plugin\r\n * {@link https://select2.org//|Select2}. Para mas información acerca de\r\n * las funcionalidades y opciones de configuración pinche\r\n * {@link https://select2.org//|aquí}.\r\n * @example $(\"#idSelect\").rup_select({ source : \"selectSimple/remote\",\r\n * sourceParam : {label:\"desc\"+$.rup_utils.capitalizedLang(),\r\n * value:\"code\", style:\"css\"} });\r\n */\n\n/* global define */\n/* global jQuery */\n\n(function (factory) {\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"), __webpack_require__(/*! ./rup.base */ \"./src/rup.base.js\"), __webpack_require__(/*! ./rup.message */ \"./src/rup.message.js\"), __webpack_require__(/*! select2 */ \"./node_modules/select2/dist/js/select2.js\"), __webpack_require__(/*! ./external/select2MultiCheckboxes */ \"./src/external/select2MultiCheckboxes.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(function ($) {\n // ****************************************************************************************************************\n // DEFINICIÓN BASE DEL PATRÓN (definición de la variable privada que\n // contendrá los métodos y la función de jQuery)\n // ****************************************************************************************************************\n\n var rup_select = {};\n var FUNCTION_NOT_SUPPORTED_ERROR_MESSAGE = $.rup.i18nParse($.rup.i18n.base, 'rup_global.functionNotSupportedError');\n var FUNCTION_NOT_SUPPORTED_ERROR_TITLE = $.rup.i18nParse($.rup.i18n.base, 'rup_global.error');\n\n // Se configura el arranque de UDA para que alberge el nuevo patrón\n $.extend($.rup.iniRup, $.rup.rupSelectorObjectConstructor('rup_select', rup_select));\n\n // *******************************\n // DEFINICIÓN DE MÉTODOS PÚBLICOS\n // *******************************\n $.fn.rup_select('extend', {\n /**\r\n * Método utilizado para obtener el valor del componente. Este método es\r\n * el utilizado por el resto de componentes RUP para estandarizar la\r\n * obtención del valor del select.\r\n * \r\n * @function getRupValue\r\n * @return {string | number} - Devuelve el valor actual del componente\r\n * seleccionado por el usuario.\r\n * @example $(\"#idSelect\").rup_select(\"getRupValue\");\r\n */\n getRupValue: function getRupValue() {\n var $self = $(this),\n settings = $self.data('settings'),\n value;\n var values = $self.select2('data');\n if ((values == undefined || values.length == 0) && !settings.multiple) {\n value = '';\n } else if (values.length == 1 && !settings.multiple) {\n value = values[0].id;\n } else {\n value = [];\n $.each(values, function (ind, elem) {\n value.push(elem.id);\n });\n }\n if (settings !== undefined && settings.submitAsJSON !== undefined && settings.submitAsJSON) {\n var name = $self.attr('name');\n if (name == undefined) {\n name = $self.attr('id');\n }\n return jQuery.rup_utils.getRupValueAsJson(name, value);\n }\n return value;\n },\n /**\r\n * Método utilizado para asignar el valor al componente. Este método es\r\n * el utilizado por el resto de componentes RUP para estandarizar la\r\n * asignación del valor al Select.\r\n * \r\n * @function setRupValue\r\n * @param {string |\r\n * number} param - Valor que se va a asignar al componente.\r\n * @example $(\"#idSelect\").rup_select('setRupValue', 'Si');\r\n */\n setRupValue: function setRupValue(param) {\n var $self = $(this),\n settings = $self.data('settings');\n\n // Tipo de select\n if (this.length === 0 || settings !== undefined && !settings.multiple) {\n var _texto = undefined; // normal.\n // Simple\n if (settings !== undefined && settings.data === undefined && settings.options !== undefined) {\n // si\n // es\n // remoto\n // crear\n // el\n // option\n var data = {};\n if (settings.groups) {\n data = $.grep(settings.optionsGroups, function (v) {\n return v.id == param;\n });\n } else {\n data = $.grep(settings.options, function (v) {\n return v.id == param;\n });\n }\n if (data[0] !== undefined) {\n if ($('#' + settings.id).find(\"option[value='\" + data[0].id + \"']\").length == 0) {\n data = data[0];\n _this._createOption(settings, data);\n param = data.id; // mantenga el cifrado\n _texto = data.text;\n } else {\n param = data[0].id; // mantenga el cifrado\n _texto = data[0].text;\n }\n }\n }\n var dataSelect2 = $self.data('select2');\n if (dataSelect2 !== undefined) {\n if (dataSelect2.$selection.find('input').length == 1) {\n if (settings.defaultValueAutocompleteNotLoaded == false) {\n dataSelect2.$selection.find('input').val('');\n } else {\n dataSelect2.$selection.find('input').val(param);\n }\n }\n var $search = dataSelect2.dropdown.$search || dataSelect2.selection.$search;\n if ($search != undefined && _texto !== undefined) {\n //sifnifica que esta abierto\n var lis = dataSelect2.dropdown.$dropdown.find('li');\n var selectedDate = $.grep(lis, function (v) {\n return $(v).text() === _texto;\n });\n lis.attr('aria-selected', false);\n $(selectedDate).attr('aria-selected', true);\n }\n\n // Guardar seleccionado.\n settings.selected = param;\n $self.val(param).trigger('change');\n $('#' + settings.id).rup_select('change');\n }\n } else {\n // Multiple > multiselect - falta\n if (_typeof(param) === 'object' && settings.options !== undefined) {\n // si\n // es\n // remoto\n // crear\n // el\n // option\n var arrayDatos = [];\n $.each(param, function (key, value) {\n var data = {};\n if (settings.groups) {\n data = $.grep(settings.optionsGroups, function (v) {\n return v.id == value;\n });\n } else {\n data = $.grep(settings.options, function (v) {\n return v.id == value;\n });\n }\n if (data[0] != undefined && $('#' + settings.id).find(\"option[value='\" + data[0].id + \"']\").length == 0) {\n data = data[0];\n _this._createOption(settings, data);\n arrayDatos.push(data.id);\n } else {\n arrayDatos.push(value);\n }\n });\n\n // Guardar seleccionados.\n settings.selected = arrayDatos;\n $('#' + settings.id).val(arrayDatos).trigger('change');\n }\n }\n },\n /**\r\n * Método que limpia el valor seleccionado en el select. En el caso de\r\n * selección múltiple los valores seleccionados.\r\n * \r\n * @function clear\r\n * @example $(\"#idSelect\").rup_select(\"clear\");\r\n */\n clear: function clear() {\n var $self = $(this);\n // init de select\n if (this.length > 0) {\n var settings = $self.data('settings');\n var dataSelect2 = $self.data('select2');\n dataSelect2.$selection.find('input').val('');\n // Simple y multi\n if (settings.blank !== undefined) {\n if (settings.multiple) {\n $self.rup_select('setRupValue', [$self.data('settings').blank]);\n } else {\n $self.rup_select('setRupValue', $self.data('settings').blank);\n }\n } else {\n $self.rup_select('setRupValue', null);\n }\n }\n },\n /**\r\n * Método que lanza el evento change del componente.\r\n * \r\n * @function change\r\n * @example $(\"#idSelect\").rup_select(\"change\");\r\n */\n change: function change() {\n // Tipo de select\n if ($(this).data('settings').change) {\n $(this).data('settings').change();\n }\n },\n /**\r\n * Selecciona todos los elementos en el caso de tratarse de un select\r\n * multilesección.\r\n * \r\n * @function checkAll\r\n * @example $(\"#idSelect\").rup_select(\"checkAll\");\r\n */\n checkAll: function checkAll() {\n // Tipo de select\n if ($(this).data('settings').multiple) {\n // Multiple > multiselect\n var selectedItems = [];\n var allOptions = $(\"#\" + $(this)[0].id + \" option\");\n allOptions.each(function () {\n selectedItems.push($(this).val());\n });\n $(this).rup_select('setRupValue', selectedItems);\n } else {\n // Simple > selectmenu\n alert('Función no soportada.');\n }\n },\n /**\r\n * Selecciona el elemento del select que contiene como texto el\r\n * indicado. En caso de no existir el texto a buscar el se no sufrirá\r\n * cambios En el caso de selección múltiple el parámetro será un array.\r\n * \r\n * @function selectByLabel\r\n * @param {string |\r\n * string[]} param - Parámetro utilzado para determinar los\r\n * elementos a seleccionar.\r\n * @example // Simple $(\"#idSelect\").rup_select(\"selectByLabel\", \"No\"); //\r\n * Multiple $(\"#idSelect\").rup_select(\"selectByLabel\",\r\n * [\"No\",\"Si\"]);\r\n */\n selectByLabel: function selectByLabel(param) {\n // Tipo de select\n var settings = $(this).data('settings');\n if (settings.options !== undefined) {\n var options = settings.options;\n if (settings.groups) {\n options = settings.optionsGroups;\n }\n if (!settings.multiple) {\n // Simple > selectmenu\n var data = $.grep(options, function (v) {\n return v.text === param;\n });\n if (data[0] !== undefined) {\n $(this).rup_select('setRupValue', data[0].id);\n }\n } else {\n // Ejemplo\n // $('#idSelect').rup_select('selectByLabel',['php_value','java_value'])\n var datos = [];\n $.each(param, function (key, value) {\n var data = $.grep(options, function (v) {\n return v.text === value;\n });\n if (data[0] !== undefined) {\n datos.push(data[0].id);\n }\n });\n $(this).rup_select('setRupValue', datos);\n }\n }\n },\n /**\r\n * Selecciona el elemento enviado como parámetro. En caso de ser un numérico se selecciona por la posición (comenzando en 0) y si es un literal se selecciona por el valor. En el caso de selección múltiple el parámetro será un array.\r\n *\r\n * @function select\r\n * @param {string | number | string[] | number[]} param - Parámetro utilzado para determinar los elementos a seleccionar.\r\n * @example\r\n * // Simple\r\n * $(\"#idSelect\").rup_select(\"select\", 2);\r\n * // Multiple\r\n * $(\"#idSelect\").rup_select(\"select\", [0,2]);\r\n */\n select: function select(param) {\n var settings = $(this).data().settings;\n var datas = settings.data || settings.options;\n if (settings.groups) {\n datas = settings.optionsGroups;\n }\n if (settings.multiple) {\n var datos = [];\n $.each(param, function (key, value) {\n if (datas.length >= value) {\n datos.push(datas[value].id);\n }\n });\n $(this).rup_select('setRupValue', datos);\n } else {\n if (datas.length >= param) {\n $(this).rup_select('setRupValue', datas[param].id);\n }\n }\n },\n /**\r\n * Método que devuelve el label asociado al valor seleccionado en el\r\n * select. En el caso de la selección múltiple se devolverá un array.\r\n * \r\n * @function label\r\n * @return {string | string[]} - Texto del elemento o elementos\r\n * seleccionado.\r\n * @example $(\"#idSelect\").rup_select(\"label\");\r\n */\n label: function label() {\n // Tipo de select\n var data = $(this).select2('data');\n if (!$(this).data('settings').multiple) {\n return data[0].text;\n } else {\n // Multiple > multiselect\n var retorno = [];\n for (var i = 0; i < data.length; i++) {\n retorno.push(data[i].text);\n }\n return retorno;\n }\n },\n /**\r\n * Devuelve el índice de la opción seleccionada en el select (empezando\r\n * en 1). En el caso de la selección múltiple se devolverá un array.\r\n * \r\n * @function index\r\n * @return {number | number[]} - Índice del elemento o elementos\r\n * seleccionados.\r\n * @example $(\"#idSelect\").rup_select(\"index\");\r\n */\n index: function index() {\n // Tipo de select\n var settings = $(this).data('settings');\n if (settings.options !== undefined) {\n var options = settings.options;\n if (settings.groups) {\n options = settings.optionsGroups;\n }\n var count = 0;\n var data = $(this).select2('data');\n if (!settings.multiple) {\n // Simple > selectmenu\n\n $.each(options, function (key, value) {\n if (settings.blank !== value.id.toString()) {\n count = count + 1;\n }\n if (value.id.toString() === data[0].id.toString()) {\n return false;\n }\n });\n } else {\n var listaCount = [];\n $.each(data, function (key, value) {\n count = 0;\n $.each(options, function (cont, valor) {\n if (settings.blank !== value.id.toString()) {\n count = count + 1;\n }\n if (value.id.toString() === valor.id.toString()) {\n listaCount.push(count);\n return false;\n }\n });\n });\n return listaCount;\n }\n return count;\n }\n },\n /**\r\n * Deshabilita el select.\r\n * \r\n * @function disable\r\n * @example $(\"#idSelect\").rup_select(\"disable\");\r\n */\n disable: function disable() {\n // Tipo de select\n var $self = $(this);\n $self.prop(\"disabled\", true);\n },\n /**\r\n * Habilita el select.\r\n * \r\n * @function enable\r\n * @example $(\"#idSelect\").rup_select(\"enable\");\r\n */\n enable: function enable() {\n var $self = $(this);\n $self.prop(\"disabled\", false);\n },\n /**\r\n * Indica si el select está deshabilitado o no.\r\n * \r\n * @function isDisabled\r\n * @param {boolean} -\r\n * Devuelve si el select está deshabilitado o no.\r\n * @example $(\"#idSelect\").rup_select(\"isDisabled\");\r\n */\n isDisabled: function isDisabled() {\n if ($(this).attr('disabled') === 'disabled') {\n return true;\n } else {\n return false;\n }\n },\n /**\r\n * Realiza una recarga de los select.\r\n * \r\n * @function reload\r\n * @example $(\"#idSelect\").rup_select(\"reload\");\r\n */\n reload: function reload(removeOptions) {\n var settings = $(this).data('settings');\n $(this).select2(\"destroy\");\n if (removeOptions) {\n $(this).find('option').remove();\n }\n $(this).rup_select(settings);\n },\n /**\r\n * Cambia el source del select y recarga el componente para que este\r\n * comience a usarlo.\r\n * \r\n * @function setSource\r\n * @param {string}\r\n * source - Source desde el cual se obtendran los datos a\r\n * sourceParam - Se puede cambiar los parámetros de la cabecera..\r\n * @example $(\"#idSelect\").rup_select(\"setSource\", source, sourceParam);\r\n */\n setSource: function setSource(source, sourceParam) {\n if (source !== undefined && source !== '') {\n var $self = $(this);\n var settings = $self.data().settings;\n var dataSelect2 = $self.data('select2');\n if ($self.data().settings.data === undefined) {\n // remoto\n\n dataSelect2.dataAdapter.ajaxOptions.url = source;\n if (sourceParam != undefined) {\n dataSelect2.dataAdapter.ajaxOptions.headers = $.toJSON(sourceParam);\n }\n } else {\n // local\n settings.data = source;\n settings.options = undefined;\n $self.data('settings', settings);\n if (dataSelect2.$selection != undefined) {\n dataSelect2.$selection.find('input').val('');\n }\n $self.empty();\n if (settings.data !== undefined && settings.autocomplete) {\n $.each(settings.data, function () {\n _this._createOption(settings, this);\n });\n } else {\n $self.select2({\n data: settings.data\n });\n }\n }\n if (settings.multiple == true) {\n if (settings.dataParents != null) {\n settings.data = settings.dataParents;\n }\n $self.rup_select('reload');\n }\n }\n },\n /**\r\n * Método que devuelve los datos, de los elementos seleccionados.\r\n * \r\n * @function getDataSelected\r\n * @return {string | string[]} - Texto del elemento o elementos\r\n * seleccionado.\r\n * @example $(\"#idSelect\").rup_select(\"label\");\r\n */\n getDataSelected: function getDataSelected() {\n // Tipo de select\n var data = $(this).select2('data');\n if (!$(this).data('settings').multiple) {\n return data[0];\n } else {\n return data;\n }\n },\n /**\r\n * Método que añade un option al select en local\r\n * \r\n * @function addOption\r\n * id:\tidentificador del nuevo option\r\n * text: texto del nuevo option\r\n * label: en Caso de ser grupos, el label donde se va a meter(obligatorio)\r\n * @example $(\"#idSelect\").rup_select(\"label\");\r\n */\n addOption: function addOption(id, text, label) {\n // Tipo de select\n\n var newOpt = new Option(id, text);\n if ($(this).data('settings').groups && label != undefined) {\n var options = $(this).data('select2').options.options;\n $(this).find('optgroup[label=\"' + label + '\"]').append(newOpt);\n var seleccionado = $.grep(options.data, function (v, index) {\n return v.text === label;\n });\n if (seleccionado != undefined && seleccionado.length == 1) {\n seleccionado[0].children[seleccionado[0].children.length] = {\n id: id,\n text: text\n };\n }\n } else {\n $(this).append(newOpt);\n }\n },\n /**\r\n * Deshabilita una opción de un select multiselección.\r\n *\r\n * @function disableOpt\r\n * @param {string} optValue - Value del option que queremos deshabilitar.\r\n * @example\r\n * $(\"#idSelect\").rup_select(\"disableOpt\", \"opt1\");\r\n */\n disableOpt: function disableOpt(optValue) {\n if ($(this).data('settings').multiple) {\n //Deshabilitar select\n this.find('[value=\\'' + optValue + '\\']').attr('disabled', 'disabled');\n\n //Si pertenece a OptGroup y es el último en deshabilitarse > Cambiar estilos optGroupLabel\n if ($(this).data('settings').sourceGroup != undefined) {\n //Obtener inicio optGroup\n var li = obj.parentsUntil('ul').last().prevAll('li.ui-multiselect-optgroup-label').first(),\n inputs = li.nextUntil('li.ui-multiselect-optgroup-label').find('input'),\n allDisabled = true;\n for (var i = 0; i < inputs.length; i++) {\n if (!inputs[i].disabled) {\n allDisabled = false;\n break;\n }\n }\n if (allDisabled) {\n //Estilos optGroup\n li.css('color', 'grey');\n li.children('a').remove();\n li.children('span').not('.rup-combo_multiOptgroupLabel').remove();\n }\n }\n } else {\n $.rup.errorGestor(FUNCTION_NOT_SUPPORTED_ERROR_MESSAGE, FUNCTION_NOT_SUPPORTED_ERROR_TITLE);\n }\n },\n /**\r\n * Deshabilita varias opciones del select. Las opciones se identifican mediante un array.\r\n *\r\n * @function disableOptArr\r\n * @param {string[]} optValueArr - Array en el que se indican los values de las opciones a deshabilitar.\r\n * @example\r\n * $(\"#idSelect\").rup_select(\"disableOptArr\", [\"opt1\",\"opt2\"]);\r\n */\n disableOptArr: function disableOptArr(optValueArr) {\n if ($(this).data('settings').multiple) {\n for (var i = 0; i < optValueArr.length; i++) {\n $(this).rup_select('disableOpt', optValueArr[i]);\n }\n } else {\n $.rup.errorGestor(FUNCTION_NOT_SUPPORTED_ERROR_MESSAGE, FUNCTION_NOT_SUPPORTED_ERROR_TITLE);\n }\n },\n /**\r\n * Habilita una opción de un select multiselección.\r\n *\r\n * @function enableOpt\r\n * @param {string} enableOpt - Value del option que queremos habilitar.\r\n * @example\r\n * $(\"#idSelect\").rup_select(\"enableOpt\", \"opt1\");\r\n */\n enableOpt: function enableOpt(optValue) {\n if ($(this).data('settings').multiple) {\n //Habilitar select\n this.find('[value=\\'' + optValue + '\\']').removeAttr('disabled');\n var obj = $('#rup-multiCombo_' + $(this).attr('id')).find('[value=\\'' + optValue + '\\']');\n\n //Habilitar input\n obj.removeAttr('disabled');\n\n //Estilos línea (label)\n obj.parent().css('color', 'black');\n\n //Si pertenece a OptGroup y es el primero en habilitarse > Cambiar estilos optGroupLabel\n if ($(this).data('settings').sourceGroup != undefined) {\n //Obtener inicio optGroup\n var li = obj.parentsUntil('ul').last().prevAll('li.ui-multiselect-optgroup-label').first();\n\n //Estilos optGroup\n if (li.children('a').length === 0) {\n li.css('color', 'black');\n this._generateOptGroupLabel(li, $(this).data('settings').multiOptgroupIconText);\n }\n }\n } else {\n $.rup.errorGestor(FUNCTION_NOT_SUPPORTED_ERROR_MESSAGE, FUNCTION_NOT_SUPPORTED_ERROR_TITLE);\n }\n },\n /**\r\n * Habilita varias opciones del select. Las opciones se identifican mediante un array.\r\n *\r\n * @function enableOptArr\r\n * @param {string[]} optValueArr - Array en el que se indican los values de las opciones a habilitar.\r\n * @example\r\n * $(\"#idSelect\").rup_select(\"enableOptArr\", [\"opt1\",\"opt2\"]);\r\n */\n enableOptArr: function enableOptArr(optValueArr) {\n if ($(this).data('settings').multiple) {\n for (var i = 0; i < optValueArr.length; i++) {\n $(this).rup_select('enableOpt', optValueArr[i]);\n }\n } else {\n $.rup.errorGestor(FUNCTION_NOT_SUPPORTED_ERROR_MESSAGE, FUNCTION_NOT_SUPPORTED_ERROR_TITLE);\n }\n },\n /**\r\n * Ordena alfanumericamente y en orden ascendente el combo sobre el que se aplica. Se invoca por defecto al cargarse los combos a no ser que se cambie el valor del atributo ordered en la creación.\r\n *\r\n * @function order\r\n * @param {boolean} orderedByValue - Indica si la búsqueda es por texto (por defecto) o si la búsqueda es por el valor.\r\n * @param {boolean} orderAsNumber - Indica si se debe ordenar como valores numéricos en vez de alfabéticos.\r\n * @param {boolean} skipFirst - Determina si se debe obviar el primer elemento.\r\n * @example\r\n * $(\"#idSelect\").rup_select(\"order\", orderedByValue, orderAsNumber, skipFirst);\r\n */\n order: function order(groups, orderedByValue, orderAsNumber) {\n /* Get options */\n var selector = $(this).data('select2') || $(this).parent().data('select2');\n var settings = selector.options.options;\n if (groups) {\n $(this).find('optgroup').each(function () {\n $(this).rup_select('order', false, orderedByValue, orderAsNumber);\n });\n //Order children\n if (settings.data != undefined) {\n $(settings.data).each(function () {\n if (this.children != undefined && this.children.length > 0) {\n this.children = this.children.sort(function (a, b) {\n return a.text.localeCompare(b.text);\n });\n }\n });\n }\n } else {\n var selectList = $(this).find('option').not('[value=' + settings.blank + ']');\n var option = $(this).find('option[value=' + settings.blank + ']');\n /* Order by innerText (case insensitive) */\n selectList.sort(function (a, b) {\n return a.innerText.localeCompare(b.innerText);\n });\n\n /* Re-do select HTML */\n $(this).html(selectList);\n if (option.length == 1) {\n $(this).prepend(option);\n }\n }\n },\n /**\r\n * Lanza una búsqueda en el autocomplete con el parámetro indicado y el foco va a parar al input.\r\n *\r\n * @param {string} term - Cadena de texto utilizada para realizar la búsqueda.\r\n * @param {boolean} notOthersClose - Si deseas cerrar el resto de componentes.\r\n * @function search\r\n * \r\n * @example\r\n * $(\"#idSelect\").rup_select(\"search\", \"java\");\r\n */\n search: function search(term, notOthersClose) {\n var $search = $(this).data('select2').dropdown.$search || $(this).data('select2').mySelect.selection.$search;\n if (!notOthersClose) {\n $('.select2-hidden-accessible').select2('close');\n }\n $(this).data('select2').$container.find('input').val(term);\n if ($search != undefined) {\n $search.val(term);\n $(this).data('settings').selected = term;\n $search.trigger('keyup');\n }\n },\n /**\r\n * Permite consultar y modificar la configuración del componente.\r\n *\r\n * @param {string | object} optionName - Nombre de la propiedad que se desea gestionar o objeto de compuesto de varias propiedades.\r\n * @param {*} [value] - Corresponde al valor de la propiedad en caso de haberse especificado el nombre de la misma en el primér parámetro.\r\n * @param {*} aux - Parámetro extra de confirguración para la propiedad \"source\".\r\n * @function option\r\n * @example\r\n * // Establecer una propiedad\r\n * $(\"#idSelect\").rup_select(\"option\", \"minimumResultsForSearch\", 2);\r\n * // Establecer varias propiedad\r\n * $(\"#idSelect\").rup_select(\"option\", {minimumResultsForSearch:2, delay:1000});\r\n */\n option: function option(optionName, value, removeOptions) {\n var settings = $(this).data('settings');\n settings[optionName] = value;\n $(this).select2(\"destroy\");\n if (removeOptions) {\n $(this).find('option').remove();\n }\n $(this).rup_select(settings);\n },\n /**\r\n * Permite abrir el componente.\r\n *\r\n * @param {boolean} notOthersClose - Si deseas cerrar el resto de componentes.\r\n * @function open\r\n * @example\r\n * // Establecer una propiedad\r\n * $(\"#idSelect\").rup_select(\"option\", true);\r\n */\n open: function open(notOthersClose) {\n if (!notOthersClose) {\n $('.select2-hidden-accessible').select2('close');\n }\n $(this).select2('open');\n },\n /**\r\n * Permite cerrar el componente.\r\n *\r\n * @param {boolean} notOthersClose - Si deseas cerrar el resto de componentes.\r\n * @function close\r\n * @example\r\n * // Establecer una propiedad\r\n * $(\"#idSelect\").rup_select(\"option\", true);\r\n */\n close: function close(notOthersClose) {\n if (!notOthersClose) {\n $('.select2-hidden-accessible').select2('close');\n }\n $(this).select2('close');\n },\n /**\r\n * Elimina el autocomplete.\r\n *\r\n * @function destroy\r\n * @example\r\n * $(\"#idSelect\").rup_select(\"destroy\");\r\n */\n destroy: function destroy(notRemoveOptions) {\n $(this).select2(\"destroy\");\n if (!notRemoveOptions) {\n $(this).find('option').remove();\n }\n }\n });\n\n // *******************************\n // DEFINICIÓN DE MÉTODOS PRIVADOS\n // *******************************\n $.fn.rup_select('extend', {\n /**\r\n * Selecciona el elemento correspondiente al label indicado\r\n * \r\n * @function _selectLabel\r\n * @private\r\n * @param {object}\r\n * selector - Referencia al objeto jQuery del select.\r\n * @param {object}\r\n * param - Value correspondiente.\r\n */\n _selectLabel: function _selectLabel(selector, param) {\n var $option;\n for (var i = 0; i < $('option', selector).length; i = i + 1) {\n $option = jQuery(selector).find('option').eq(i);\n if (jQuery(selector).find('option').eq(i).text() === param) {\n $(selector).selectmenu('index', $option.prop('index'));\n return true;\n }\n }\n return false;\n },\n /**\r\n * Obtener la opción vacía a partir del fichero de internacionalización\r\n * de la aplicación o del fichero por defecto.\r\n * \r\n * @function _getBlankLabel\r\n * @private\r\n * @param {string}\r\n * id - Identificador del fichero\r\n */\n _getBlankLabel: function _getBlankLabel(id) {\n var app = $.rup.i18n.app;\n // Comprueba si el select tiene su propio texto personalizado\n if (app[id] && app[id]._blank) {\n return app[id]._blank;\n }\n // Comprueba si la aplicacion tiene un texto definido para todos los\n // blank\n else if (app.rup_select && app.rup_select.blank) {\n return app.rup_select.blank;\n }\n // Si no hay textos definidos para los blank obtiene el por defecto\n // de UDA\n return $.rup.i18n.base.rup_select.blankNotDefined;\n },\n /**\r\n * Obtener valores de los selects padres (si no están cargados o valores\r\n * 'vacíos' devuelve null). En caso de disponer de varios selects padres\r\n * se devolverán separados por un caracter delimitador.\r\n * \r\n * @function _getParentsValues\r\n * @private\r\n * @param {object[]}\r\n * settings - Array con los elementos de configuración.\r\n * @param {boolean}\r\n * remote - Determina si la fuente de datos es remota o no.\r\n * @return {string} - Devuelve los values seleccionados de los selects\r\n * padres.\r\n */\n _getParentsValues: function _getParentsValues(settings, remote, multiValueToken) {\n var retorno = '';\n var parent = [];\n if (settings.parent == undefined) {\n return '';\n }\n if (typeof settings.parent == 'string') {\n parent.push(settings.parent);\n } else {\n parent = settings.parent;\n }\n var parentsFull = 0;\n $.each(parent, function (idx, parentId) {\n if (parentId != undefined && $('#' + parentId).val() != null) {\n //Si el padre es simple\n if (!$.isArray($('#' + parentId).val()) && $('#' + parentId).val().trim() != '') {\n if (settings.blank == $('#' + parentId).val()) {\n retorno = '';\n } else {\n if (remote) {\n // PAra remoto\n retorno += $('#' + parentId).attr('name') + '=' + $('#' + parentId).val() + '&';\n } else {\n // PAra local\n if (retorno != '') {\n retorno = retorno + multiValueToken + $('#' + parentId).val();\n } else {\n retorno = $('#' + parentId).val();\n }\n }\n parentsFull = parentsFull + 1;\n }\n } else if ($.isArray($('#' + parentId).val()) && $('#' + parentId).val().length > 0) {\n // si el padre es multiple\n if (remote) {\n // PAra remoto\n retorno += $('#' + parentId).attr('name') + '=' + $('#' + parentId).val() + '&';\n } else {\n // PAra local\n if (retorno != '') {\n retorno = retorno + multiValueToken + $('#' + parentId).val();\n } else {\n retorno = $('#' + parentId).val();\n }\n }\n parentsFull = parentsFull + 1;\n }\n }\n });\n if (parentsFull < parent.length) {\n // si no estan todos los padres no\n // se busca.\n return '';\n }\n\n // Evitar & o multiValueToken finales\n if (retorno !== '' && remote) {\n retorno = retorno.substring(0, retorno.length - 1);\n }\n return retorno;\n },\n /**\r\n * Procesa el conjunto de registros devueltos por una petición sobre un\r\n * origen de datos local.\r\n * \r\n * @function _parseLOCAL\r\n * @private\r\n * @param {object[]}\r\n * data - Array de registros obtenidos a partir del origen de\r\n * datos.\r\n * @param {object}\r\n * i18nId - Opciones de idioma.\r\n * @param {jQuery}\r\n * isParent - Si tiene datos en forma parent.\r\n */\n _parseLOCAL: function _parseLOCAL(data, i18nId, isParent) {\n var text;\n var array = data;\n if (isParent) {\n // Si es padre llamar a la recursividad\n if (Array.isArray(data)) {\n data = data[0];\n }\n $.each(data, function (key, value) {\n data[key] = _this._parseLOCAL(data[key], i18nId, false);\n });\n } else {\n data = [];\n for (var i = 0; i < array.length; i = i + 1) {\n if (_typeof(array[i]) === 'object') {\n // multi-idioma\n if (array[i].i18nCaption) {\n text = $.rup.i18nParse($.rup.i18n.app[i18nId], array[i].i18nCaption);\n } else {\n text = array[i].text;\n }\n array[i].text = text;\n } else {\n // El id es el mismo que el texto.\n data[i] = {\n id: array[i],\n text: array[i]\n };\n }\n }\n if (data.length > 0) {\n // El id es el mismo que el texto.\n return data;\n }\n }\n return array;\n },\n /**\r\n * Procesa el conjunto de registros devueltos por una petición sobre un\r\n * origen de datos remoto.\r\n * \r\n * @function _parseRemoteGroup\r\n * @private\r\n * @param {object[]}\r\n * array - Array de registros obtenidos a partir del origen\r\n * de datos.\r\n * @param {object}\r\n * settings - Objeto de propiedades de configuración con el\r\n * que se ha inicializado el componente.\r\n */\n _parseRemoteGroup: function _parseRemoteGroup(array, settings) {\n var item;\n var data = [];\n for (var i = 0; i < array.length; i = i + 1) {\n item = array[i];\n var key = Object.keys(item)[0];\n var dato = {};\n dato.text = key;\n dato.children = item[key];\n dato.id = \"group__\" + i;\n data.push(dato);\n }\n return data;\n },\n /**\r\n * Prepara la petición AJAX que se va a realizar para obtener los\r\n * registros a partir de un origen remoto. Se añaden las cabeceras RUP\r\n * correspondientes para realizar la serialización json de manera\r\n * correcta.\r\n * \r\n * @function _ajaxBeforeSend\r\n * @private\r\n * @param {object}\r\n * xhr - Objeto xhr que se va a enviar en la petición\r\n * @param {object}\r\n * settings - Objeto de propiedades de configuración con el\r\n * que se ha inicializado el componente.\r\n * @param {jQuery}\r\n * html - Referencia al objeto jQuery que contiene los\r\n * elementos.\r\n */\n _ajaxBeforeSend: function _ajaxBeforeSend(xhr, settings, html) {\n // Crear select (vacío) y deshabilitarlo\n if (html !== undefined) {\n $('#' + settings.id).replaceWith(html);\n } // Si no es 'reload' se debe inicializar vacío\n\n $('#' + settings.id).rup_select('disable');\n\n // LOADING...\n $('#' + settings.id + '-button span:first-child').removeClass(\"ui-icon ui-icon-triangle-1-s\").addClass('rup-select_loadingText').text($.rup.i18n.base.rup_select.loadingText);\n var icon = $('#' + settings.id + '-button span:last-child');\n $(icon).removeClass('ui-icon-triangle-1-s');\n $(icon).text(''); // Evita errores de visualización con el icono\n $(icon).addClass('rup-select_loading');\n\n // Cabecera RUP\n xhr.setRequestHeader('RUP', $.toJSON(settings.sourceParam));\n },\n /**\r\n * Procesa la respuesta de la petición AJAX en el caso de que se haya\r\n * producido un error en la misma.\r\n * \r\n * @function _ajaxError\r\n * @private\r\n * @param {object}\r\n * xhr - Objeto xhr enviado en la respuesta.\r\n * @param {string}\r\n * textStatus - Cadena identificadora del error que se ha\r\n * producido en la petición.\r\n * @param {object}\r\n * errorThrown - Objeto error correspondiente al que se ha\r\n * producido en la petición.\r\n * @param {object}\r\n * settings - Objeto de propiedades de configuración con el\r\n * que se ha inicializado el componente.\r\n */\n _ajaxError: function _ajaxError(xhr) {\n if (xhr.responseText !== null && xhr.responseTex !== undefined && xhr.responseText.length < 200) {\n $.rup.showErrorToUser(xhr.responseText);\n } else {\n $.rup.showErrorToUser($.rup.i18n.base.rup_select.ajaxError);\n }\n },\n /**\r\n * Carga la opción remoto.\r\n * \r\n * @function _loadRemote\r\n * @private\r\n * @param {object}\r\n * settings - Objeto de propiedades de configuración con\r\n * el que se ha inicializado el componente.\r\n * @return {jQuery} - Objeto jQuery con referencia al elemento que\r\n * contiene el foco.\r\n */\n\n _loadRemote: function _loadRemote(settings, first) {\n var rupSelect = this;\n settings.ajax = {\n url: settings.url,\n dataType: settings.dataType,\n processResults: function processResults(response) {\n // Require id y text, podemos permitir que no venga.\n if (settings.placeholder != undefined && !settings.multiple) {\n var elBlank = response.find(function (x) {\n return x.id == settings.blank;\n });\n if (elBlank == undefined && !settings.autocomplete) {\n response.unshift({\n id: settings.blank,\n text: settings.placeholder\n });\n }\n }\n if (settings.groups) {\n // PArsear para grupos.\n var results = [];\n $.each(response, function (index, value) {\n var key = Object.keys(value)[0];\n results[index] = {\n 'text': key,\n 'children': value[key]\n };\n });\n response = results;\n }\n settings.options = response;\n $('#' + settings.id).data('settings', settings);\n return {\n results: response\n };\n },\n cache: false,\n data: function data() {\n // Es necesario enviarlo vacío para que el componente subyacente no genere parámetros extra.\n //se hará en el transport\n return _this._getParentsValues(settings, true);\n },\n error: function error(xhr, textStatus, errorThrown) {\n if (settings.onLoadError !== null) {\n jQuery(settings.onLoadError(xhr, textStatus, errorThrown));\n } else {\n if (textStatus != 'abort') {\n //Si se hacen 2 llamadas se cancela la primera.\n rupSelect._ajaxError(xhr, textStatus, errorThrown);\n }\n console.log(textStatus);\n }\n }\n };\n if (settings.selected || settings.autocomplete && settings.defaultValue != undefined) {\n settings.firstLoad = true;\n }\n if (settings.parent != undefined && ($('#' + settings.parent).val() == null || $.isArray($('#' + settings.parent).val()) && $('#' + settings.parent).val().length == 0 || !$.isArray($('#' + settings.parent).val()) && $('#' + settings.parent).val().trim() === '')) {\n settings.firstLoad = false;\n }\n var __cache = [];\n var __lastQuery = null;\n settings.ajax.transport = function (params, success, failure) {\n // retrieve the cached key or default to _ALL_\n var __cachekey = params.data || '_ALL_';\n //Se actualiza el data, para mantener la misma función.\n if (!settings.autocomplete) {\n params.data = \"\";\n }\n var mySelect = $('#' + settings.id).data('select2');\n if (settings.autocomplete) {\n params.data.q = mySelect.$container.find('input').val();\n __cachekey = params.data.q;\n }\n if (__lastQuery !== __cachekey) {\n // remove caches not from last query\n __cache = [];\n }\n __lastQuery = __cachekey;\n //Si esta cacheado, no busca\n if (settings.cache == true && 'undefined' !== typeof __cache[__cachekey]) {\n // display the cached results\n success(__cache[__cachekey]);\n // Marca el valor definido como seleccionado.\n if (!settings.autocomplete && settings.selected) {\n $('#' + settings.id).rup_select('setRupValue', settings.selected);\n }\n return;\n }\n mySelect.$results.find('li').addClass('disabledButtonsTable');\n mySelect.$selection.find('input').addClass('disabledButtonsTable');\n mySelect.$selection.find('input').blur();\n //Si tiene padres deshabilitarlos\n if (settings.parent) {\n if (typeof settings.parent === 'string') {\n $('#' + settings.parent).rup_select(\"disable\");\n } else {\n $.each(settings.parent, function (ind, elem) {\n $('#' + elem).rup_select(\"disable\");\n });\n }\n }\n var $request = undefined;\n if (settings.autocomplete) {\n //Meter busqueda accentFolding\n var term = '';\n term = params.data.q;\n term = term.replace(/%/g, '\\\\%').replace(/_/g, '\\\\_');\n params.data = $.extend({\n q: term,\n c: settings.contains\n }, settings.extraParams);\n }\n if (settings.parent) {\n var datosParent = _this._getParentsValues(settings, true);\n if (datosParent != '') {\n if (settings.autocomplete) {\n //añadir el data del padre\n var padres = datosParent.split('&'); //split por si tiene varios padres\t\n $.each(padres, function () {\n if (this !== undefined) {\n var cad = this.split('=');\n if (cad != undefined && cad.length > 0) {\n params.data[cad[0]] = cad[1];\n __cachekey = __cachekey + cad[1]; //se añade la parte del padre\n }\n }\n });\n } else if (params.url.indexOf(datosParent) < 0) {\n // Aseguramos que mete el valor del padre.\n params.url = params.url + '?' + datosParent;\n }\n $request = $.ajax(params);\n }\n } else {\n $request = $.ajax(params);\n }\n if ($request != undefined) {\n $request.then(function (data) {\n // Vuelve la peticion\n\n // store data in cache\n __cache[__cachekey] = data;\n // display the results\n $('#' + settings.id).rup_select(\"enable\");\n //Si tiene padres deshabilitarlos\n if (settings.parent) {\n if (typeof settings.parent === 'string') {\n $('#' + settings.parent).rup_select(\"enable\");\n } else {\n $.each(settings.parent, function (ind, elem) {\n $('#' + elem).rup_select(\"enable\");\n });\n }\n }\n success(__cache[__cachekey]);\n // Actualizar seleccionado en la lista//css\n var positions = [];\n var valueSelect = settings.selected ? settings.selected : $('#' + settings.id).rup_select('getRupValue');\n if (settings.groups) {\n // Parseo de grupos para\n // seleccionar\n var allFacts = [];\n // grupos\n for (var i = 0; i < data.length; i = i + 1) {\n if (_typeof(data[i]) === 'object') {\n $.each(data[i], function (key, value) {\n if (_typeof(value) === 'object') {\n $.each(value, function () {\n this.id = String(this.id);\n allFacts.push(this);\n });\n }\n });\n }\n }\n data = allFacts;\n settings.optionsGroups = data;\n }\n //Se obliga a que las claves sean String recomendado por select2\n var seleccionado = $.grep(data, function (v, index) {\n if (v.id === undefined && v[settings.sourceParam.id] !== undefined) {\n v.id = String(v[settings.sourceParam.id]);\n } else {\n v.id = String(v.id);\n }\n if (v.text === undefined && v[settings.sourceParam.text] !== undefined) {\n v.text = v[settings.sourceParam.text];\n }\n if (settings.multiple) {\n var selectMultiple = $.grep(valueSelect, function (h) {\n return String(h) == v.id;\n });\n // solo se admite un valor.\t\n if (selectMultiple !== undefined && selectMultiple.length > 0) {\n positions.push(settings.blank == \"\" ? index - 1 : index);\n return v.id == selectMultiple[0];\n }\n if (settings.parent) {\n //Actualizar la cabecera de multiples\n mySelect.trigger('selection:update', []);\n }\n } else {\n if (v.id == valueSelect) {\n positions.push(settings.blank == \"\" ? index - 1 : index);\n }\n return v.id == settings.selected;\n }\n });\n if ($('#' + settings.id).rup_select('getRupValue') != '') {\n seleccionado = $.grep(data, function (v) {\n return v.id == $('#' + settings.id).rup_select('getRupValue');\n });\n }\n // Si es el mismo, no cambia porque esta abriendo\n if (seleccionado !== undefined && seleccionado.length >= 1 && $('#' + settings.id).rup_select('getRupValue') != seleccionado[0].id) {\n if (settings.multiple) {\n // Revisar varios selects\n var dats = [];\n $.each(seleccionado, function (index, valor) {\n dats.push(valor.id);\n });\n $('#' + settings.id).rup_select('setRupValue', dats);\n } else {\n $('#' + settings.id).rup_select('setRupValue', seleccionado[0].id);\n }\n $.each(positions, function (index, valor) {\n var $option = $('#' + settings.id).data('select2').$results.find('li')[valor];\n if ($option != undefined) {\n $($option).attr('aria-selected', 'true');\n }\n });\n } else {\n if (settings.autocomplete) {\n var valorInput = mySelect.selection.$selection.find('input').val();\n $('#' + settings.id).rup_select('setRupValue', seleccionado.length == 1 ? seleccionado[0].id : settings.blank);\n mySelect.selection.$selection.find('input').val(valorInput);\n mySelect.selection.$selection.find('input').focus();\n } else {\n $('#' + settings.id).rup_select('setRupValue', seleccionado.length == 1 ? seleccionado[0].id : settings.blank);\n }\n }\n if (settings.onLoadSuccess !== null && settings.onLoadSuccess !== undefined) {\n jQuery(settings.onLoadSuccess($('#' + settings.id)));\n }\n $('#' + settings.id).data('settings', settings);\n $('#' + settings.id).triggerHandler('selectAjaxSuccess', [data]);\n if (settings.firstLoad) {\n if (settings.autocomplete && settings.selected == undefined && settings.defaultValue != undefined && data != undefined && ($('#' + settings.id).rup_select('getRupValue') == '' || $('#' + settings.id).rup_select('getRupValue') == settings.blank)) {\n //setear el valor para el defaultValue\n var datos2 = $.grep(data, function (v) {\n return v.text.toUpperCase() === settings.defaultValue.toUpperCase();\n });\n if (datos2[0] != undefined) {\n $('#' + settings.id).rup_select('setRupValue', datos2[0].id);\n }\n }\n settings.firstLoad = false;\n settings.selected = $('#' + settings.id).rup_select('getRupValue');\n }\n });\n $request.fail(failure);\n } else {\n // cerrar\n $('#' + settings.id).select2('close');\n if (settings.parent) {\n if (typeof settings.parent === 'string') {\n $('#' + settings.parent).rup_select(\"enable\");\n } else {\n $.each(settings.parent, function (ind, elem) {\n $('#' + elem).rup_select(\"enable\");\n });\n }\n }\n }\n return $request;\n };\n if (settings.ajax !== undefined) {\n if (settings.data !== undefined) {\n // PAra añadir más parametros de\n // busqueda\n settings.ajax.data = settings.data;\n }\n if (settings.autocomplete) {\n //busqueda accentFolding\n var term = '';\n var mySelect = $('#' + settings.id).data('select2');\n if ($('input.select2-search__field') != undefined && $('input.select2-search__field').val() != undefined) {\n term = $('input.select2-search__field').val();\n }\n if (settings.contains == undefined) {\n settings.contains = true;\n }\n term = term.replace(/%/g, '\\\\%').replace(/_/g, '\\\\_');\n settings.ajax.data = $.extend({\n q: term,\n c: settings.contains\n }, settings.extraParams);\n }\n if (settings.sourceParam) {\n // modifica el header para parsear\n // la response\n settings.ajax.headers = {\n 'RUP': $.toJSON(settings.sourceParam)\n };\n }\n if (settings.processResults) {\n // modifica los results\n settings.ajax.processResults = settings.processResults;\n }\n }\n if (settings.multiple) {\n $('#' + settings.id).select2MultiCheckboxes(settings);\n } else {\n if (settings.placeholder == undefined || settings.placeholder == '') {\n // si es vació se asigna el label\n settings.placeholder = rupSelect._getBlankLabel(settings.id);\n }\n if (settings.autocomplete) {\n $('#' + settings.id).select2MultiCheckboxes(settings);\n if (settings.spaceEnable) {\n //permitir en la busqueda en espacio\n sel = $('#' + settings.id).data('select2').selection;\n sel.$selection.off('keydown');\n }\n } else {\n $('#' + settings.id).select2(settings);\n }\n }\n if (settings.firstLoad) {\n // ejecutar los datos\n\n var $el = $('#' + settings.id);\n var _mySelect = $el.data('select2');\n var $search = _mySelect.dropdown.$search || _mySelect.selection.$search;\n if (settings.autocomplete && settings.defaultValue != undefined) {\n _mySelect.$container.find('input').val(settings.defaultValue);\n }\n if ($search != undefined) {\n $search.trigger('keyup');\n $el.select2('close');\n } else {\n _mySelect.selection.trigger('toggle');\n $el.select2('close');\n }\n }\n },\n /**\r\n * Método de inicialización del componente.\r\n * \r\n * @function _textIcon\r\n * @private\r\n * @param {object}\r\n * data - Dato que llega, por cada registro.\r\n */\n _textIcon: function _textIcon(data) {\n var stylePosition = 'M'; // B - Before , M - middle , A - After\n // adjust for custom placeholder values, restaurar\n if (data.stylePosition === undefined) {\n // usar la de defecto\n data.stylePosition = stylePosition;\n }\n var _span = $('');\n var icon = $('');\n if (data.imgStyle) {\n // en lugar d mdi,clase icon.\n _span.addClass(data.style);\n icon = $('');\n if (data.stylePosition.toUpperCase() === 'M') {\n data.stylePosition = 'B'; // en caso de ser span, no\n // admite texto en medio\n }\n }\n if (data.stylePosition.toUpperCase() === 'M') {\n icon.prepend(data.text);\n } else if (data.stylePosition.toUpperCase() === 'B') {\n _span.prepend(data.text);\n }\n _span.prepend(icon);\n if (data.stylePosition.toUpperCase() === 'A') {\n _span.prepend(data.text);\n }\n return _span;\n },\n /**\r\n * Método de inicialización del componente.\r\n * \r\n * @function _createOption\r\n * @private\r\n * @param {object}\r\n * settings - Objeto de propiedades de configuración con el\r\n * que se ha inicializado el componente.\r\n * @param {object}\r\n * data - Dato que llega, por cada registro.\r\n */\n _createOption: function _createOption(settings, data) {\n var newOption = new Option(data.text, data.id, false, false);\n if (data.style != null) {\n newOption.setAttribute('style', data.style);\n newOption.setAttribute('imgStyle', data.imgStyle);\n }\n $('#' + settings.id).append(newOption);\n },\n /**\r\n * Método de inicialización del componente.\r\n * \r\n * @function _init\r\n * @private\r\n * @param {object}\r\n * args - Parámetros de inicialización del componente.\r\n */\n _init: function _init(args) {\n var _this2 = this;\n _this = this;\n global.initRupI18nPromise.then(function () {\n if (args.length > 1) {\n $.rup.errorGestor($.rup.i18nParse($.rup.i18n.base, 'rup_global.initError') + $(_this2).attr('id'));\n } else {\n // Se recogen y cruzan las paremetrizaciones del objeto\n var settings = $.extend({}, $.fn.rup_select.defaults, args[0]),\n html,\n loadAsLocal = false,\n isValidableElem = false,\n attrs;\n\n // Se recoge el tabindex indicado en el elemento\n settings.tabindex = $(_this2).attr('tabindex');\n\n // Sobreescribir literales por defecto para\n // multiselect:REVISAR\n // $.extend($.ech.multiselect.prototype.options,\n // $.rup.i18n.base.rup_select.multiselect);\n\n // Se carga el identificador del padre del patron\n settings.id = $.rup_utils.escapeId($(_this2).attr('id'));\n if ($(_this2).attr('name') === undefined) {\n $(_this2).attr('name', settings.id);\n }\n settings.name = $(_this2).attr('name');\n $('#' + settings.id).attr('ruptype', 'select');\n\n // Si no se recibe identificador para el acceso a literales\n // se usa el ID del objeto\n if (!settings.i18nId) {\n settings.i18nId = settings.id;\n }\n\n // Guardar valor del INPUT\n settings.inputValue = $('#' + settings.id).val() === null ? $('#' + settings.id).prop('value') : $('#' + settings.id).val();\n attrs = $(_this2).prop('attributes');\n\n // Revisar apra el select\n if (settings.firstLoad === null && $(_this2).is('select') && settings.loadFromSelect) {\n loadAsLocal = true;\n }\n\n // Asociar evento CHANGE para propagar cambios a los hijos\n $('#' + settings.id).on('change', function () {});\n\n // tratar placeHolder\n if (settings.placeholder !== undefined && typeof settings.placeholder == 'string') {\n if (!settings.allowClear) {\n settings.templateSelection = function (data, span) {\n if (data.id === settings.blank) {\n // adjust\n // for\n // custom\n // placeholder\n // values,\n // restaurar\n return $('' + data.text + '');\n }\n chargedStyles(data);\n if (data.style != null && data.id !== settings.blank) {\n // adjust for custom placeholder values,\n // restaurar\n return _this._textIcon(data);\n }\n return data.text;\n };\n if (settings.placeholder == '') {\n // si es vació se\n // asigna el label\n settings.placeholder = _this2._getBlankLabel(settings.id);\n }\n if (settings.data !== undefined && !settings.multiple) {\n // y si\n // no\n // es\n // multiple\n if (settings.parent == undefined) {\n // Si no tiene padre se mete en todos los\n // valores, sino solo al data,\n settings.data.unshift({\n id: settings.blank,\n text: settings.placeholder\n });\n } else {\n $.each(settings.data, function (index, value) {\n value.unshift({\n id: settings.blank,\n text: settings.placeholder\n });\n });\n }\n }\n } else if ($('#' + settings.id).find('option').length == 0) {\n // revisar\n // y\n // crear\n // option\n // vacio.\n $('#' + settings.id).append(new Option(\"\", \"\"));\n }\n }\n\n // Crear mi template, myTemplate\n if (settings.myTemplate !== undefined) {\n settings.templateSelection = settings.myTemplate;\n }\n if (settings.templateResult === undefined) {\n if (settings.multiple && settings.udaSkill) {\n // Si es\n // multiple,\n // los\n // results\n // cambian\n // settings.templateSelection\n settings.templateSelection = function (data, span) {\n // Template de Uda\n return data.text;\n };\n } else {\n // si no es multiple\n if (settings.templateSelection !== undefined) {\n // mirar\n // los\n // iconos\n settings.templateResult = function (data, span) {\n chargedStyles(data);\n if (data.id === settings.blank) {\n return $('' + data.text + '');\n } else if (data.style != null && data.id !== settings.blank) {\n // adjust\n // for\n // custom\n // placeholder\n // values,\n // restaurar\n return _this._textIcon(data);\n }\n return data.text;\n };\n } else {\n settings.templateResult = function (data, span) {\n chargedStyles(data);\n if (data.style != null && data.id !== settings.blank) {\n // adjust\n // for\n // custom\n // placeholder\n // values,\n // restaurar\n return _this._textIcon(data);\n }\n return data.text;\n };\n settings.templateSelection = settings.templateResult;\n }\n }\n }\n\n // Borrar referencia\n // delete html;\n\n // Ocultar posibles elementos de fechas/horas\n $('#' + settings.id).next('a').click(function () {\n $('#ui-datepicker-div').hide();\n });\n\n // Añade clase Personalizada\n if (settings.customClasses) {\n $.each(settings.customClasses, function (index, value) {\n $('#' + settings.id + '-button' + ', #' + settings.id + '-menu').addClass(value);\n $('[for=' + settings.id + ']').addClass(value);\n });\n }\n\n // Si no se recibe identificador para el acceso a literales\n // se usa el ID del objeto\n if (!settings.i18nId) {\n settings.i18nId = settings.id;\n }\n\n // ORDEN\n var ordenFunction = function ordenFunction(data) {\n if (typeof data === 'string') {\n var dates = data.sort(function (a, b) {\n return a.text.localeCompare(b.text);\n });\n var mySettings = $('#' + settings.id).data('settings');\n mySettings.options = dates;\n $('#' + settings.id).data('settings', mySettings);\n return dates;\n }\n return data;\n };\n if (settings.data || settings.dataGroups) {\n // local y\n // groups\n if (settings.sortered === true) {\n // PAra añadir\n // ordenación, en local\n // hay que marcarlo\n settings.sorter = ordenFunction;\n } else if (settings.sortered !== false) {\n settings.sorter = settings.sortered;\n }\n if (settings.dataGroups === undefined) {\n // LOcal\n settings.data = _this2._parseLOCAL(settings.data, settings.i18nId, settings.parent);\n } else {\n // grupos\n var optionsGroups = [];\n for (var i = 0; i < settings.dataGroups.length; i = i + 1) {\n if (_typeof(settings.dataGroups[i]) === 'object') {\n settings.dataGroups[i].children = _this2._parseLOCAL(settings.dataGroups[i].children, settings.i18nId, settings.parent);\n for (var j = 0; j < settings.dataGroups[i].children.length; j = j + 1) {\n optionsGroups.push(settings.dataGroups[i].children[j]);\n }\n }\n }\n settings.optionsGroups = optionsGroups;\n settings.data = settings.dataGroups;\n }\n } else if (!settings.ajax && settings.url != null) {\n // remoto\n if (settings.sortered === undefined) {\n // PAra añadir\n // ordenación, en\n // remoto siempre se\n // ordena por\n // defecto.\n settings.sorter = ordenFunction;\n } else if (settings.sortered !== false) {\n settings.sorter = settings.sortered;\n }\n _this2._loadRemote(settings, true);\n } else {\n // por si viene cargado de un select\n settings.data = true;\n if (settings.parent) {\n //convertir el data, formato parent\t\n settings.data = [];\n $('#' + settings.id).find('option').each(function () {\n var idPadre = $(this).data('idpadre');\n if (idPadre != undefined) {\n //si no existe\n if (settings.data[idPadre] === undefined) {\n settings.data[idPadre] = [];\n if (settings.placeholder != undefined || settings.placeholder != '') {\n settings.data[idPadre].push({\n id: settings.blank,\n text: settings.placeholder\n });\n }\n }\n settings.data[idPadre].push({\n id: $(this).val(),\n text: $(this).text()\n });\n }\n });\n }\n }\n\n // Init eventos: El resto van en el propio subyacente\n // Change\n if (settings.change) {\n if (!settings.clean) {\n $('#' + settings.id).off('select2:clearing');\n $('#' + settings.id).on('select2:clearing', function (e) {\n settings.change(e);\n });\n }\n }\n // clean\n if (settings.clean) {\n $('#' + settings.id).off('select2:clearing');\n $('#' + settings.id).on('select2:clearing', function (e) {\n settings.clean(e);\n });\n }\n // event select\n\n $('#' + settings.id).off('select2:select');\n $('#' + settings.id).on('select2:select', function (e) {\n settings.selected = e.params.data.id;\n if (settings.autocomplete) {\n //Change input\n var mySelect2 = $('#' + settings.id).data('select2');\n var data = $(this).select2('data')[0];\n mySelect2.$selection.find('input').val(data.text);\n }\n if (settings.select) {\n settings.select(e);\n }\n if (settings.change) {\n settings.change(e);\n }\n });\n if (settings.data) {\n // local y groups\n if (settings.parent) {\n // si depende de otro selects.\n // Si es uno meterlo como string - local\n if (_typeof(settings.parent) == 'object' && settings.parent.length == 1) {\n settings.parent = settings.parent[0];\n }\n if (settings.dataParents === undefined) {\n // la\n // primera\n // vez carga\n // los datos\n // fijos.\n settings.dataParents = settings.data;\n }\n var valorValue = _this._getParentsValues(settings, false, settings.multiValueToken);\n if (valorValue != '') {\n valoresParent = settings.dataParents[valorValue];\n if (valoresParent == undefined && settings.dataParents[0] != undefined) {\n valoresParent = settings.dataParents[0][valorValue];\n }\n settings.data = valoresParent;\n if (settings.data == undefined) {\n settings.data = [];\n }\n }\n }\n if (settings.multiple) {\n $('#' + settings.id).select2MultiCheckboxes(settings);\n } else {\n if (settings.placeholder == undefined || settings.placeholder == '') {\n // si es vació se asigna el label\n settings.placeholder = _this._getBlankLabel(settings.id);\n }\n if (settings.autocomplete) {\n //local y autocomplete\n if (settings.matcher == undefined && settings.accentFolding == false) {\n settings.matcher = udaMatcher;\n }\n $('#' + settings.id).select2MultiCheckboxes(settings);\n var mySelect2 = $('#' + settings.id).data('select2');\n if (settings.spaceEnable) {\n //permitir en la busqueda en espacio\n mySelect2.$selection.off('keydown');\n }\n if (settings.defaultValue != undefined) {\n mySelect2.$selection.find('input').val(settings.defaultValue);\n if (settings.selected == undefined && mySelect2.dataAdapter._dataToConvert != undefined && mySelect2.dataAdapter._dataToConvert.length > 0) {\n var data = $.grep(mySelect2.dataAdapter._dataToConvert, function (v) {\n return v.text.toUpperCase() === settings.defaultValue.toUpperCase();\n });\n if (data[0] != undefined) {\n settings.selected = data[0].id;\n }\n }\n }\n } else {\n $('#' + settings.id).select2(settings);\n }\n //Propiedad para deselecionar una mismo en simple.\n if (settings.deleteOnDeselect) {\n var _mySelect2 = $('#' + settings.id).data('select2');\n _mySelect2.on('close', function (e) {\n if (Object.keys(e).length === 1) {\n _mySelect2.$selection.find('input').val('');\n settings.selected = undefined;\n $('#' + settings.id).val(null).trigger('change');\n if (!settings.closeOnSelect) {\n $('#' + settings.id).select2('open');\n }\n }\n });\n }\n }\n if (settings.selected) {\n $('#' + settings.id).val(settings.selected).trigger('change');\n }\n // cargar los options\n settings.options = settings.data;\n } else {\n //Remotos\n //Propiedad para deselecionar una mismo en simple.\n if (settings.deleteOnDeselect) {\n var remotoSelect = $('#' + settings.id).data('select2');\n remotoSelect.on('close', function (e) {\n if (Object.keys(e).length === 1) {\n remotoSelect.$selection.find('input').val('');\n settings.selected = undefined;\n $('#' + settings.id).val(null).trigger('change');\n if (!settings.closeOnSelect) {\n $('#' + settings.id).select2('open');\n }\n }\n });\n }\n }\n if (settings.parent) {\n // si dependen de otros selects\n // Mirar si es simple o no\n var parent = [];\n if (typeof settings.parent == 'string') {\n parent.push(settings.parent);\n } else {\n // Si es uno meterlo como string -remoto\n if (settings.parent.length == 1) {\n settings.parent = settings.parent[0];\n parent.push(settings.parent);\n } else {\n parent = settings.parent;\n }\n }\n // Bucle para eventos Padres\n $.each(parent, function (idx, eventoPadre) {\n $('#' + eventoPadre).off('change.parent' + settings.id);\n $('#' + eventoPadre).on('change.parent' + settings.id, function () {\n // Cambios\n // para\n // los\n // hijos,onchange\n // del\n // padre\n\n // Si soy local\n if (settings.data !== undefined) {\n if (_typeof(settings.parent) == 'object') {\n // Si\n // tiene\n // más\n // de\n // un\n // padre\n var clave = '';\n var ClaveNoCifrar = '';\n if (settings.multiValueToken == undefined) {\n settings.multiValueToken = '';\n }\n $.each(settings.parent, function (ind, elem) {\n var val = $('#' + elem).rup_select('getRupValue');\n clave = clave + val + settings.multiValueToken;\n var dataSelected = $('#' + elem).rup_select(\"getDataSelected\");\n if (dataSelected !== undefined) {\n val = dataSelected.id;\n ClaveNoCifrar = ClaveNoCifrar + val + settings.multiValueToken;\n }\n });\n clave = clave.substring(0, clave.length - settings.multiValueToken.length);\n ClaveNoCifrar = ClaveNoCifrar.substring(0, ClaveNoCifrar.length - settings.multiValueToken.length);\n var datosParents = settings.dataParents[0] || settings.dataParents;\n if (datosParents[clave] != undefined || datosParents[ClaveNoCifrar] != undefined) {\n // Datos\n // Cargados\n var valores = datosParents[clave] || datosParents[ClaveNoCifrar];\n settings.data = datosParents;\n $('#' + settings.id).rup_select(\"setSource\", valores);\n }\n } else {\n // si tiene un solo padre\n var val = $('#' + settings.parent).rup_select('getRupValue');\n if (val != settings.blank && val != '') {\n $('#' + settings.id).rup_select(\"enable\");\n var _valores = undefined;\n //si es multiple sera un array.\n if ($.isArray(val)) {\n _valores = [];\n $.each(val, function (ind, elem) {\n _valores = _valores.concat(settings.dataParents[elem]);\n });\n } else {\n _valores = settings.dataParents[val];\n }\n settings.data = settings.dataParents;\n if (_valores == undefined) {\n // Si no\n // hay\n // valor,\n // se\n // inicializa\n _valores = [];\n }\n $('#' + settings.id).rup_select(\"setSource\", _valores);\n } else {\n //deshabilitamos el hijo\n $('#' + settings.id).rup_select(\"disable\");\n }\n }\n\n // Aseguramos el valor limpio al cambiar el\n // padre\n $('#' + settings.id).rup_select(\"setRupValue\", settings.blank);\n } else {\n // si soy Remoto\n\n var datosParent = _this._getParentsValues(settings, true);\n\n // Sola llamar si el padre tiene valor.\n if (datosParent != '') {\n $('#' + settings.id).rup_select(\"disable\");\n // ejecutar los datos\n var $el = $('#' + settings.id);\n var $search = $el.data('select2').dropdown.$search || $el.data('select2').selection.$search;\n //al tener padre, si es multiple init\n if (settings.multiple) {\n selection = $el.data('select2').$selection.find('.select2-selection__rendered');\n texto = $el.data('select2').options.options.templateSelection({\n selected: [],\n all: []\n }, selection);\n selection.text(texto);\n }\n if (settings.autocomplete) {\n $el.data('select2').$container.find('input').val('');\n }\n if ($search != undefined) {\n $search.trigger('keyup');\n $el.select2('close');\n }\n if (!settings.multiple && $(\"#\" + settings.id).val() != null && $(\"#\" + settings.id).val().trim() != '') {\n $(\"#\" + settings.id).val(null).trigger('change');\n } else if (settings.multiple && $(\"#\" + settings.id).val() != null && $(\"#\" + settings.id).val().length > 0) {\n $(\"#\" + settings.id).val(null).trigger('change');\n }\n setTimeout($('#' + settings.id).rup_select(\"enable\"), 200);\n } else if (!settings.multiple && $(\"#\" + settings.id).val() != null && $(\"#\" + settings.id).val().trim() != '') {\n $(\"#\" + settings.id).val(null).trigger('change');\n $('#' + settings.id).rup_select(\"disable\");\n } else if (settings.multiple && $(\"#\" + settings.id).val() != null && $(\"#\" + settings.id).val().length > 0) {\n $(\"#\" + settings.id).val(null).trigger('change');\n $('#' + settings.id).rup_select(\"disable\");\n }\n }\n });\n });\n // Fin funcion evento padre\n }\n $('#' + settings.id).data('settings', settings);\n //Si es remoto, el último evento es: selectAjaxSuccess\n $('#' + settings.id).triggerHandler('selectFinish', settings);\n }\n })[\"catch\"](function (error) {\n console.error('Error al inicializar el componente:\\n', error);\n });\n }\n });\n\n // ******************************************************\n // DEFINICIÓN DE LA CONFIGURACION POR DEFECTO DEL PATRON\n // ******************************************************\n\n /**\r\n * Función a ejecutar en caso de producirse un error a la hora de obtener\r\n * los elementos a mostrar.\r\n * \r\n * @callback jQuery.rup_select~onLoadError\r\n * @param {Object}\r\n * xhr - Objeto XHR que contiene la respuesta de la petición\r\n * realizada.\r\n * @param {string}\r\n * textStatus - Texto que identifica el error producido.\r\n * @param {Object}\r\n * errorThrown - Objeto error que contiene las propiedades del\r\n * error devuelto en la petición.\r\n */\n\n /**\r\n * Función a ejecutar en caso de producirse un error a la hora de obtener\r\n * los elementos a mostrar.\r\n * \r\n * @callback jQuery.rup_select~onLoadSuccess\r\n * @param {jQuery}\r\n * self - Referencia al objeto jQuery del propio select.\r\n */\n\n /**\r\n * @description Opciones por defecto de configuración del componente.\r\n * \r\n * @name defaults\r\n * \r\n * @property {jQuery.rup_select~onLoadError} [onLoadError] - Función de\r\n * callback a ejecutar en caso de que se produzca un error en la\r\n * petición de obtención de la lista de elementos a mostrar.\r\n * @property {string} [width='100%'] - Determina el tamaño del componente \r\n * tanto en píxeles como en porcentaje. Su valor por defecto es '100%'.\r\n * @property {string} [blank=null] - Se utiliza para declarar un valor\r\n * independiente de la lógica de negocio y en ocasiones se\r\n * representa como \"Seleccione un elemento\". Permite establecer un\r\n * mensaje independiente por cada select haciendo uso de\r\n * $.rup.i18n.app.id._blank (sustituyendo id por el propio de cada\r\n * select) o uno genérico por aplicación haciendo uso de\r\n * $.rup.i18n.app.rup_select.blank. En caso de no definir ninguno,\r\n * se usará el genérico de UDA,\r\n * $.rup.i18n.base.rup_select.blankNotDefined.\r\n * @property {string} [token=\"|\"] - Define el separador a utilizar cuando se\r\n * muestra el valor asociado al select concatenado al literal.\r\n * @property {string} [multiValueToken=\"##\"] - Define el separador a\r\n * utilizar en selects enlazados locales.\r\n * @property {boolean} [ordered=true] - Indica si el select debe ordenarse.\r\n * @property {boolean} [orderedByValue=false] - Indica si el la ordenación\r\n * del seelct debe realizarse por el valor de los elementos en\r\n * lugar de por el texto.\r\n * @property {jQuery.rup_select~onLoadSuccess} [onLoadSuccess=null] - Función\r\n * de callback a ejecutar en el caso de que la petición de carga\r\n * de datos se haya producido correctamente.\r\n * @property {boolean} [loadFromSelect=false] - Determina si se debe de\r\n * utilizar los elementos option del elemento html sobre el que se\r\n * inicializa el componente para inicializar los datos del\r\n * elemento.\r\n * @property {boolean} [multiOptgroupIconText=false] - Indica si se desea\r\n * que en la selección múltiple con grupos, el nombre del grupo\r\n * tenga descripción en los iconos para seleccionar/deseleccionar\r\n * los elementos del grupo.\r\n * @property {boolean} [submitAsString=false] - Indica si el envío de los\r\n * elementos seleccionados en la selección múltiple se realiza\r\n * como un literal separados por coma.\r\n * @property {boolean} [submitAsJSON=false] - Indica si el envío de los\r\n * elementos seleccionados en la selección múltiple se realiza\r\n * como un array JSON donde el nombre del mapa será el nombre del\r\n * select. En el caso de que el nombre contenga notación dot se\r\n * tomará el último literal. Ej: [{id:1}, {id:2}, …].\r\n * @property {boolean} [readAsString=false] - Determina si la asignación de\r\n * un valor inicial se va a realizar a partir de un string con los\r\n * ids de los elementos separados por comas en vez de un array de\r\n * json.\r\n * @property {boolean} [rowStriping=false] - Indica si se debe aplicar un\r\n * estilo diferente a las filas pares e impares para poder\r\n * distinguirlas mediante un color diferente.\r\n * @property {number} [typeAhead=false] - Especifica en milisegundos el\r\n * tiempo de espera que toma el componente antes de procesar los\r\n * eventos de escritura realizados por el usuario.\r\n * @property {number} [legacyWrapMode=false] - Determina si se emplea el\r\n * método obsoleto a la hora de empaquetar en objetos json los\r\n * elementos seleccionados. Su propósito es mantener la\r\n * retrocompatibilidad.\r\n * @property {boolean} [autocomplete=false] - Habilita la funcionalidad de\r\n * autocompletado, permitiendo hacer búsquedas sobre los resultados.\r\n * @property {boolean} [spaceEnable=true] - Habilita la funcionalidad de búsquedas con barra espaciadora.\r\n */\n $.fn.rup_select.defaults = {\n onLoadError: null,\n width: '100%',\n customClasses: ['select-material'],\n blank: \"-1\",\n minimumResultsForSearch: Infinity,\n submitAsJSON: false,\n dataType: 'json',\n cache: true,\n multiple: false,\n defaultValueAutocompleteNotLoaded: false,\n multiValueToken: '##',\n spaceEnable: true\n };\n});\nfunction chargedStyles(data) {\n if (data.style === undefined && data.element !== undefined) {\n // mirar estilo\n data.style = data.element.getAttribute('style');\n data.imgStyle = data.element.getAttribute('imgStyle');\n if (data.style == null || data.style == 'undefined') {\n data.style = undefined;\n }\n if (data.style == null || data.imgStyle == 'undefined') {\n data.imgStyle = undefined;\n }\n }\n}\nfunction udaMatcher(params, data) {\n // Always return the object if there is nothing to compare\n if ($.trim(params.term) === '') {\n return data;\n } // Do a recursive check for options with children\n\n if (data.children && data.children.length > 0) {\n // Clone the data object if there are children\n // This is required as we modify the object to remove any non-matches\n var match = $.extend(true, {}, data); // Check each child of the option\n\n for (var c = data.children.length - 1; c >= 0; c--) {\n var child = data.children[c];\n var matches = matcher(params, child); // If there wasn't a match, remove the object in the array\n\n if (matches == null) {\n match.children.splice(c, 1);\n }\n } // If any children matched, return the new object\n\n if (match.children.length > 0) {\n return match;\n } // If there were no matching children, check just the plain object\n\n return matcher(params, match);\n }\n var original = data.text.toUpperCase();\n var term = params.term.toUpperCase(); // Check if the text contains the term\n\n if (original.indexOf(term) > -1) {\n return data;\n } // If it doesn't contain the term, don't return anything\n\n return null;\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"), __webpack_require__(/*! ./../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\"), __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack://rup/./src/rup.select.js?"); /***/ }), @@ -8695,7 +8695,7 @@ eval("/* WEBPACK VAR INJECTION */(function(jQuery) {var __WEBPACK_AMD_DEFINE_FAC /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("/* WEBPACK VAR INJECTION */(function(global, $) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\r\n * Copyright 2016 E.J.I.E., S.A.\r\n *\r\n * Licencia con arreglo a la EUPL, Versión 1.1 exclusivamente (la «Licencia»);\r\n * Solo podrá usarse esta obra si se respeta la Licencia.\r\n * Puede obtenerse una copia de la Licencia en\r\n *\r\n * http://ec.europa.eu/idabc/eupl.html\r\n *\r\n * Salvo cuando lo exija la legislación aplicable o se acuerde por escrito,\r\n * el programa distribuido con arreglo a la Licencia se distribuye «TAL CUAL»,\r\n * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas.\r\n * Véase la Licencia en el idioma concreto que rige los permisos y limitaciones\r\n * que establece la Licencia.\r\n */\n\n/**\r\n * Permite al usuario validar los datos introducidos en los campos que se presentan en la aplicación.\r\n *\r\n * @summary Componente RUP Validate.\r\n * @module rup_validate\r\n * @see El componente está basado en el plugin {@link http://jqueryvalidation.org/|jQuery Validation Plugin}. Para mas información acerca de las funcionalidades y opciones de configuración pinche {@link http://jqueryvalidation.org/|aquí}.\r\n * @example\r\n * var properties={\r\n * rules:{\r\n * \"campoObligatorio\":{required:true},\r\n * \"dni\":{required:true,dni:true}\r\n * }\r\n * };\r\n * $(\"#formValidaciones\").rup_validate(properties);\r\n */\n\n(function (factory) {\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"), __webpack_require__(/*! ./rup.base */ \"./src/rup.base.js\"), __webpack_require__(/*! jquery-validation */ \"./node_modules/jquery-validation/dist/jquery.validate.js\"), __webpack_require__(/*! jquery-validation/dist/additional-methods */ \"./node_modules/jquery-validation/dist/additional-methods.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(function (jQuery) {\n global.initRupI18nPromise.then(function () {\n //*********************************************\n // ESPECIFICACÍON DE LOS TIPOS BASE DEL PATRÓN\n //*********************************************\n\n //*****************************************************************************************************************\n // DEFINICIÓN BASE DEL PATRÓN (definición de la variable privada que contendrá los métodos y la función de jQuery)\n //*****************************************************************************************************************\n\n var rup_validate = {};\n $.rup_validate = {};\n\n //Se configura el arranque de UDA para que alberge el nuevo patrón\n $.extend($.rup.iniRup, $.rup.rupSelectorObjectConstructor('rup_validate', rup_validate));\n\n // Se configuran los mensajes idiomaticos.\n var messages = {};\n\n // Es necesario identificar los mensajes parametrizables. Para ello se buscan los fragmentos de tipo {i} para ser tratados por la funcion format del validador.\n var regularExpr = new RegExp('\\\\{\\\\d\\\\}');\n $.each($.rup.i18n.base.rup_validate.messages, function (key, value) {\n if (value.match(regularExpr) !== null) {\n messages[key] = jQuery.validator.format(value);\n } else {\n messages[key] = value;\n }\n });\n\n // Se configruran los mensajes de las reglas de validacion a partir de los definidos en los ficheros idiomaticos.\n $.extend($.validator.messages, messages);\n\n /*\r\n * VALIDACIONES\r\n */\n //sobreescritura\n //\n\n //\n jQuery.validator.addMethod('dni', function (value, element) {\n return this.optional(element) || window.euroNif(value);\n });\n function nif(dni) {\n if (dni.length === 9) {\n var numero = dni.substr(0, 8);\n numero = numero % 23;\n var letra = 'TRWAGMYFPDXBNJZSQVHLCKET';\n letra = letra.substring(numero, numero + 1);\n if (letra != dni.substr(dni.length - 1, dni.length).toUpperCase()) {\n return false;\n } else {\n return true;\n }\n } else {\n return false;\n }\n }\n function stripHtml(value) {\n // remove html tags and space chars\n return value.replace(/<.[^<>]*?>/g, ' ').replace(/ | /gi, ' ')\n // remove numbers and punctuation\n .replace(/[0-9.(),;:!?%#$'\"_+=/-]*/g, '');\n }\n\n // Dni\n jQuery.validator.addMethod('dni', function (value, element) {\n return this.optional(element) || nif(value);\n });\n\n // Numero maximo de palabras\n jQuery.validator.addMethod('maxWords', function (value, element, params) {\n return this.optional(element) || stripHtml(value).match(/\\b\\w+\\b/g).length < params;\n });\n\n // Numero minimo de palabras\n jQuery.validator.addMethod('minWords', function (value, element, params) {\n return this.optional(element) || stripHtml(value).match(/\\b\\w+\\b/g).length >= params;\n });\n\n // Intervalo de palabras\n jQuery.validator.addMethod('rangeWords', function (value, element, params) {\n return this.optional(element) || stripHtml(value).match(/\\b\\w+\\b/g).length >= params[0] && value.match(/bw+b/g).length < params[1];\n });\n\n // Letras y caracteres de puntuacion\n jQuery.validator.addMethod('letterswithbasicpunc', function (value, element) {\n return this.optional(element) || /^[a-z-.,()'\"\\s]+$/i.test(value);\n });\n\n // Letras (unicode), tildes y caracteres de puntuación.\n jQuery.validator.addMethod('lettersunicodewithbasicpunc', function (value, element) {\n return this.optional(element) || /^(?:[\\t-\\r \"'-\\),\\.A-Za-z\\xA0\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3000\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFEFF\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE3F\\uDE40\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDF02\\uDF04-\\uDF10\\uDF12-\\uDF33\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD887][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2F\\uDC41-\\uDC46]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD32\\uDD50-\\uDD52\\uDD55\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E\\uDF25-\\uDF2A]|\\uD838[\\uDC30-\\uDC6D\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDCD0-\\uDCEB\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF39\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0\\uDFF0-\\uDFFF]|\\uD87B[\\uDC00-\\uDE5D]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD888[\\uDC00-\\uDFAF])+$/i.test(value);\n });\n\n // Letras, numeros, espacios o guiones bajos\n jQuery.validator.addMethod('alphanumeric', function (value, element) {\n return this.optional(element) || /^\\w+$/i.test(value);\n });\n\n // Solo letras\n jQuery.validator.addMethod('lettersonly', function (value, element) {\n return this.optional(element) || /^[a-z]+$/i.test(value);\n });\n\n // Solo letras (unicode) y tildes.\n jQuery.validator.addMethod('lettersunicodeonly', function (value, element) {\n return this.optional(element) || /^(?:[A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE3F\\uDE40\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDF02\\uDF04-\\uDF10\\uDF12-\\uDF33\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD887][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2F\\uDC41-\\uDC46]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD32\\uDD50-\\uDD52\\uDD55\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E\\uDF25-\\uDF2A]|\\uD838[\\uDC30-\\uDC6D\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDCD0-\\uDCEB\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF39\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0\\uDFF0-\\uDFFF]|\\uD87B[\\uDC00-\\uDE5D]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD888[\\uDC00-\\uDFAF])+$/i.test(value);\n });\n\n // Solo letras y permite espacios.\n jQuery.validator.addMethod('letters', function (value, element) {\n return this.optional(element) || /^[a-z\\s]+$/i.test(value);\n });\n\n // Solo letras (unicode), tildes y permite espacios.\n jQuery.validator.addMethod('lettersunicode', function (value, element) {\n return this.optional(element) || /^(?:[\\t-\\r A-Za-z\\xA0\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3000\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFEFF\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE3F\\uDE40\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDF02\\uDF04-\\uDF10\\uDF12-\\uDF33\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD887][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2F\\uDC41-\\uDC46]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD32\\uDD50-\\uDD52\\uDD55\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E\\uDF25-\\uDF2A]|\\uD838[\\uDC30-\\uDC6D\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDCD0-\\uDCEB\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF39\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0\\uDFF0-\\uDFFF]|\\uD87B[\\uDC00-\\uDE5D]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD888[\\uDC00-\\uDFAF])+$/i.test(value);\n });\n\n // Espacios no permitidos\n jQuery.validator.addMethod('nowhitespace', function (value, element) {\n return this.optional(element) || /^\\S+$/i.test(value);\n });\n\n // Entero positivo o negativo\n jQuery.validator.addMethod('integer', function (value, element) {\n return this.optional(element) || /^-?\\d+$/.test(value);\n });\n\n // Patron\n jQuery.validator.addMethod('pattern', function (value, element, param) {\n return this.optional(element) || param.test(value);\n });\n\n // Validacion de campo numerico. Tiene en cuenta el formato dependiendo de la locale\n jQuery.validator.addMethod('number', function (value, element) {\n var expr = new RegExp($.rup.i18n.base.rup_validate.regexp.decimal);\n return this.optional(element) || expr.test(value);\n });\n\n // Validacion de fecha. Tiene en cuanta el formato dependiendo de la locale\n jQuery.validator.addMethod('date', function (value, element, param) {\n var format;\n if (typeof param === 'boolean') {\n if (param === true) {\n format = $.rup.i18n.base.rup_validate.format.date;\n } else {\n return true;\n }\n } else {\n format = param;\n }\n return this.optional(element) || $.rup_validate.checkDate(format, value);\n });\n\n // Validacion email.De acuerdo a la oficial RFC 5322 http://www.ietf.org/rfc/rfc5322.txt\n jQuery.validator.addMethod('email', function (value, element) {\n var expr = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return this.optional(element) || expr.test(value);\n });\n\n //********************************\n // DEFINICIÓN DE MÉTODOS PÚBLICOS\n //********************************\n\n $.extend($.rup_validate, {\n // Metodo que valida una fecha de acuerdo al formato indicado\n checkDate: function checkDate(format, date) {\n var daysInFebruary = function daysInFebruary(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0) ? 29 : 28;\n },\n DaysArray = function DaysArray(n) {\n var rdo = [];\n for (var i = 1; i <= n; i++) {\n rdo[i] = 31;\n if (i == 4 || i == 6 || i == 9 || i == 11) {\n rdo[i] = 30;\n }\n if (i == 2) {\n rdo[i] = 29;\n }\n }\n return rdo;\n };\n var tsp = {},\n sep;\n format = format.toLowerCase();\n // Se busca el separador de fecha entre los caracteres \"/\",\"-\",\".\"\n if (format.indexOf('/') != -1) {\n sep = '/';\n } else if (format.indexOf('-') != -1) {\n sep = '-';\n } else if (format.indexOf('.') != -1) {\n sep = '.';\n } else {\n sep = '/';\n }\n format = format.split(sep);\n date = date.split(sep);\n if (date.length != 3) {\n return false;\n }\n var j = -1,\n yln,\n dln = -1,\n mln = -1;\n for (var i = 0; i < format.length; i++) {\n var dv = date[i] === null || date[i] === '' || isNaN(date[i]) ? 0 : parseInt(date[i], 10);\n tsp[format[i]] = dv;\n yln = format[i];\n if (yln.indexOf('y') != -1) {\n j = i;\n }\n if (yln.indexOf('m') != -1) {\n mln = i;\n }\n if (yln.indexOf('d') != -1) {\n dln = i;\n }\n }\n if (format[j] == 'y' || format[j] == 'yyyy') {\n yln = 4;\n } else if (format[j] == 'yy') {\n yln = 2;\n } else {\n yln = -1;\n }\n var daysInMonth = DaysArray(12),\n strDate;\n if (j === -1) {\n return false;\n } else {\n strDate = tsp[format[j]].toString();\n if (yln == 2 && strDate.length == 1) {\n yln = 1;\n }\n if (strDate.length != yln || tsp[format[j]] === 0 && date[j] != '00') {\n return false;\n }\n }\n if (mln === -1) {\n return false;\n } else {\n strDate = tsp[format[mln]].toString();\n if (strDate.length < 1 || tsp[format[mln]] < 1 || tsp[format[mln]] > 12) {\n return false;\n }\n }\n if (dln === -1) {\n return false;\n } else {\n strDate = tsp[format[dln]].toString();\n if (strDate.length < 1 || tsp[format[dln]] < 1 || tsp[format[dln]] > 31 || tsp[format[mln]] == 2 && tsp[format[dln]] > daysInFebruary(tsp[format[j]]) || tsp[format[dln]] > daysInMonth[tsp[format[mln]]]) {\n return false;\n }\n }\n return true;\n }\n });\n $.fn.rup_validate('extend', {\n /**\r\n * Se eliminan todos los objetos y eventos credos por el componente.\r\n *\r\n * @function destroy\r\n * @example\r\n * $(\"#formValidaciones\").rup_validate(\"destroy\");\r\n */\n destroy: function destroy() {\n var self = this;\n\n // Se eliminan los mensajes de error.\n self.rup_validate('resetForm');\n // Se elimina la informacion almacenada en el objeto.\n $.removeData(self[0]);\n // Se eliminan los eventos asociados al objeto.\n self.off();\n },\n /**\r\n * Se realiza un reset del formulario y se eliminan los mensajes de error de las reglas de validacion.\r\n *\r\n * @function resetForm\r\n * @example\r\n * $(\"#formValidaciones\").rup_validate(\"resetForm\");\r\n */\n resetForm: function resetForm() {\n var self = this,\n settings = self.data('settings'),\n selects = $('[ruptype=\\'select\\']', self);\n\n // En caso de mostrarse el feedback de error se oculta.\n if (settings != null && settings.feedback !== undefined && settings.showErrorsInFeedback) {\n settings.feedback.rup_feedback('hide');\n }\n\n // Limpiar los select por completo. Es importante hacerlo antes de la llamada a \"resetForm\" porque si no la limpieza de los labels no es llevada a cabo.\n if (selects.length > 0) {\n selects.each(function (index, elem) {\n $(elem).rup_select('clear');\n });\n }\n\n // Se reinician los mensajes de error.\n self.validate().resetForm();\n },\n /**\r\n * Se eliminan los menssajes de error de las reglas de validacion.\r\n *\r\n * @function resetElements\r\n * @example\r\n * $(\"#formValidaciones\").rup_validate(\"resetElements\");\r\n */\n resetElements: function resetElements() {\n var self = this,\n validator = self.validate();\n validator.resetElements(validator.elements());\n }\n });\n\n //********************************\n // DEFINICIÓN DE MÉTODOS PRIVADOS\n //********************************\n $.fn.rup_validate('extend', {});\n\n //*****************************\n // INICIALIZACION DE VARIABLES\n //*****************************\n\n // Propiedades de configuracion predeterminadas para cada una de las posibles parametrizaciones de los errores.\n var presetSettings = {\n // Configruacion del componente por defecto\n defaultPresetSettings: {\n showErrors: function showErrors(errors) {\n var self = this,\n errorText,\n feedback,\n field,\n errorKey,\n fieldError,\n fieldErrorMsg,\n error,\n label;\n\n // Se comprueba si el parametro que contiene los errores está vacío. En este caso se\n if (self.currentElements.length === 1) {\n if ($.isEmptyObject(errors)) {\n delete self.invalid[self.currentElements.attr('name')];\n }\n }\n\n /*\r\n * Mostrar mensaje de error de validaciones en el feedback\r\n */\n feedback = self.settings.feedback;\n if (self.settings.showErrorsInFeedback && feedback !== undefined && feedback !== null) {\n errorText = $('
    ').addClass('rup-maint_feedbackUL').prepend(self.settings.feedbackErrorConfig.errorMsg);\n if (jQuery.isEmptyObject(self.invalid)) {\n feedback.rup_feedback('close');\n } else {\n if (self.settings.showFieldErrorsInFeedback) {\n $.each(!jQuery.isEmptyObject(self.submitted) ? self.submitted : self.invalid, function (key, value) {\n if (self.invalid[key] !== undefined) {\n field = self.settings.feedbackErrorConfig.getField(self, self.currentForm, key);\n errorKey = self.settings.feedbackErrorConfig.getFieldName(self, self.currentForm, field);\n fieldError = self.settings.feedbackErrorConfig.getFieldErrorLabel(self, self.currentForm, field, errorKey);\n fieldErrorMsg = self.settings.feedbackErrorConfig.getFieldErrorMsg(self, self.currentForm, field, value);\n fieldError.append(fieldErrorMsg);\n errorText.append(fieldError);\n }\n });\n }\n feedback.rup_feedback('option', self.settings.feedbackOptions);\n feedback.rup_feedback('set', errorText, 'error');\n }\n }\n\n /*\r\n * Mostrar detalle de errores en el feedback\r\n */\n if (self.settings.showFieldErrorAsDefault) {\n for (var i = 0; self.errorList[i]; i++) {\n error = self.errorList[i];\n if (error.element !== undefined) {\n label = self.errorsFor(error.element);\n if (label.length) {\n label.remove();\n }\n }\n }\n }\n\n /* En caso de utilizar el tratamiento por defecto del componente de jquery.validate,\r\n * no es posible indicarle varios mensajes de error para un campo.\r\n * Por ello deberemos concatenar estos mensajes de error en caso de que se de el caso.\r\n */\n for (var _i = 0; _i < self.errorList.length; _i++) {\n if (self.errorList[_i].element === undefined) {\n $.rup.errorGestor($.rup.i18nParse($.rup.i18n.base, 'rup_validate.messages.fieldError'), $.rup.i18nParse($.rup.i18n.base, 'rup_validate.messages.validationErrorTitle'));\n }\n if (Array.isArray(self.errorList[_i].message)) {\n // En caso de que el mensaje de error sea un array de mensajes, se debera de recorrer y concatenar\n var newMessage = '';\n for (var j = 0; j < self.errorList[_i].message.length; j++) {\n newMessage += self.errorList[_i].message[j];\n if (j !== self.errorList[_i].message.length - 1) {\n newMessage += ', ';\n }\n }\n self.errorList[_i].message = newMessage;\n }\n }\n\n //Se eliminan los iconos duplicados\n var elements = self.currentForm.getElementsByClassName('rup-validate-error-icon');\n while (elements !== undefined && elements.length > 0) {\n elements[0].parentNode.removeChild(elements[0]);\n }\n // Se invoca al metodo por defecto del plugin subyacente\n self.defaultShowErrors();\n },\n showErrorsInFeedback: function showErrorsInFeedback() {},\n errorPlacement: function errorPlacement(label, element) {\n label.insertAfter(element);\n }\n },\n // Configuracion de las propiedades a aplicar en caso de que se deban mostrar los errores mediante la visualizacion por defecto.\n showFieldErrorAsDefault: {\n errorElement: 'img',\n errorPlacement: function errorPlacement(error, element) {\n var errorElem = error.attr('src', this.errorImage).addClass('rup-maint_validateIcon').html('').rup_tooltip({\n 'applyToPortal': true\n });\n errorElem.insertAfter(element);\n }\n }\n };\n $.fn.rup_validate('extend', {\n _init: function _init(args) {\n var self = this,\n settingsAdapter,\n defaultPresetSettings,\n settings;\n settingsAdapter = $.extend(true, {}, {\n adapter: $.fn.rup_validate.defaults.adapter\n }, {\n adapter: presetSettings.defaultPresetSettings.adapter\n }, {\n adapter: args[0].adapter\n });\n self[0]._ADAPTER = $.rup.adapter[settingsAdapter.adapter];\n defaultPresetSettings = $.extend(true, {}, presetSettings.defaultPresetSettings, {\n showFieldErrorAsDefault: {\n highlight: self[0]._ADAPTER.highlight,\n unhighlight: self[0]._ADAPTER.unhighlight,\n errorElement: self[0]._ADAPTER.errorElement,\n errorPlacement: self[0]._ADAPTER.errorPlacement\n }\n });\n // settings = $.extend(true,{},$.fn.rup_validate.defaults, presetSettings.defaultPresetSettings, args[0]);\n\n settings = $.extend(true, {}, $.fn.rup_validate.defaults, defaultPresetSettings, args[0]);\n\n // settings = $.extend(true, {}, defaultSettings, args[0]);\n\n // Anadimos al formulario el class rup_validate para identificarlo como componente formulario.\n self.addClass('rup_validate');\n // Anadimos el ruptype validate\n self.attr('ruptype', 'validate');\n\n /*\r\n * Configuracion del componente de validaciones.\r\n */\n\n // En caso de que se deban mostrar los errores mediante la visualizacion predeterminada se configuran los presets correspondientes.\n if (settings.showFieldErrorAsDefault) {\n settings = $.extend(true, settings, defaultPresetSettings.showFieldErrorAsDefault);\n }\n settings = $.extend(true, {}, settings, args[0]);\n if (settings.onSubmitHandler !== undefined) {\n settings.submitHandler = settings.onSubmitHandler;\n }\n // Se realiza la invocacion al plugin jquery.validate\n self.validate(settings);\n if (settings.showFieldErrorAsDefault) {\n self.validate().showLabel = self[0]._ADAPTER.showLabel;\n }\n\n // Si se ha configurado el componente para que no se realicen validaciones al vuelo de los campos, se eliminan los eventos correspondientes.\n if (!settings.liveCheckingErrors) {\n self.off('click').off('focusin').off('focusout').off('keyup');\n }\n\n // Se captura el evento invalid-form del plugin subyacente para generar un evento propio\n self.on('invalid-form.rupValidate_formValidationError', function () {\n self.off('invalid-form.rupValidate_formValidationError');\n self.triggerHandler('rupValidate_formValidationError', [this]);\n });\n\n // Se almacena la configuracion del componente en el objeto dom para poder recuperarla en sucesivas invocaciones a los metodos del componente.\n self.data('settings', settings);\n }\n });\n\n //*******************************************************\n // DEFINICIÓN DE LA CONFIGURACION POR DEFECTO DEL PATRON\n //*******************************************************\n\n $.fn.rup_validate.defaults = {\n adapter: 'validate_material',\n ignore: '.select2-selection__rendered input',\n feedbackOptions: {\n gotoTop: false,\n fadeSpeed: null,\n delay: null\n },\n feedbackErrorConfig: {\n errorMsg: $.rup.i18nParse($.rup.i18n.base, 'rup_table.validateError'),\n getField: function getField(self, form, fieldName) {\n return $('[name=\\'' + fieldName + '\\']', form);\n },\n getFieldName: function getFieldName(self, form, field) {\n var fieldTmp, labelAttributes, labelElem;\n fieldTmp = jQuery(field.length > 1 ? field[0] : field);\n labelAttributes = {\n labelForId: fieldTmp.attr('id'),\n labelForName: fieldTmp.attr('name'),\n labelForTitle: fieldTmp.attr('oldtitle')\n };\n labelElem = $.rup.adapter[$.fn.rup_validate.defaults.adapter];\n if ($.fn.rup_validate.defaults.adapter === 'validate_bootstrap' || 'validate_material') {\n labelElem = labelElem.forLabelElement(form, labelAttributes);\n } else {\n if (labelAttributes.labelForTitle === undefined || labelAttributes.labelForTitle === '') {\n labelElem = labelElem.forLabelElement(form, labelAttributes);\n } else {\n return labelElem.forLabelElement(fieldTmp, labelAttributes);\n }\n }\n if (labelElem !== undefined && labelElem !== '') {\n return labelElem.replace(':', '');\n } else {\n labelElem = $.rup.adapter[$.fn.rup_validate.defaults.adapter].forInputIdElement(form, labelAttributes);\n if (labelElem !== undefined && labelElem !== '') {\n return labelElem.id;\n }\n labelElem = $.rup.adapter[$.fn.rup_validate.defaults.adapter].forInputNameElement(form, labelAttributes);\n if (labelElem !== undefined && labelElem !== '') {\n return labelElem.name;\n }\n }\n return fieldTmp.attr('title');\n },\n getFieldErrorLabel: function getFieldErrorLabel(self, form, field, errorLabel) {\n return $('
  • ').append('' + errorLabel + ':');\n },\n getFieldErrorMsg: function getFieldErrorMsg(self, form, field, errorMsg) {\n /* En caso de utilizar el tratamiento por defecto del componente de jquery.validate,\r\n * no es posible indicarle varios mensajes de error para un campo.\r\n * Por ello deberemos concatenar estos mensajes de error en caso de que se de el caso.\r\n */\n if (Array.isArray(errorMsg)) {\n // En caso de que el mensaje de error sea un array de mensajes, se debera de recorrer y concatenar\n var baseUl = $('
      ');\n for (var i = 0; i < errorMsg.length; i++) {\n baseUl.append($('
    • ').append(errorMsg[i]));\n }\n return baseUl;\n } else {\n return $('
        ').append($('
      • ').append(errorMsg));\n }\n }\n },\n liveCheckingErrors: false,\n showErrorsInFeedback: true,\n showFieldErrorAsDefault: true,\n showFieldErrorsInFeedback: true,\n errorImage: $.rup.STATICS + '/rup/css/images/exclamation.png'\n };\n\n /**\r\n * Función de callback que se ejecutará cuando el formulario sea válido.\r\n *\r\n * @callback module:rup_validate~onSubmitHandler\r\n * @param {Element} form - Referencia al objeto DOM del formulario que está siendo validado.\r\n * @example Envia el formulario cuando este es válido.\r\n * $(\"#idFormulario\").rup_tooltip({\r\n * onSubmitHandler: function(form){\r\n * $(form).ajaxSubmit();\r\n * }\r\n * });\r\n * @example Realizar otras operaciones cuando el formulario es válido.\r\n * $(\"#idFormulario\").rup_tooltip({\r\n * onSubmitHandler: function(form){\r\n // Operaciones extra\r\n * $(form).ajaxSubmit();\r\n * }\r\n * });\r\n */\n\n /**\r\n * Función que se ejecutará cuando el formulario presente errores de validación.\r\n *\r\n * @callback module:rup_validate~onInvalidHandler\r\n * @param {Event} event - Objeto event asociado al evento lanzado.\r\n * @param {object} validator - Instancia del validador asociada al formulario actual.\r\n * @example\r\n * $(\".selector\").validate({\r\n * invalidHandler: function(event, validator) {\r\n * // 'this' refers to the form\r\n * var errors = validator.numberOfInvalids();\r\n * if (errors) {\r\n * var message = errors == 1\r\n * ? 'You missed 1 field. It has been highlighted'\r\n * : 'You missed ' + errors + ' fields. They have been highlighted';\r\n * $(\"div.error span\").html(message);\r\n * $(\"div.error\").show();\r\n * } else {\r\n * $(\"div.error\").hide();\r\n * }\r\n * }\r\n * });\r\n */\n\n /**\r\n * Función que se ejecutará cuando se produzca la validación de los datos permitiendo personalizar los errores de validación.\r\n *\r\n * @callback module:rup_validate~onShowErrors\r\n * @param {Object} errorMap - Pares de clave/valor, donde el key se corresponde con el name del campo del formulario y el value con el mensaje que se va a mostrar para ese campo.\r\n * @param {Object[]} errorList - Array de objetos correspondientes a los campos validados.\r\n * @param {String} errorList.message - Mensaje que va mostrarse para ese campo.\r\n * @param {Element} errorList.element - Objeto del DOM correspondiente a ese campo.\r\n * @example\r\n * $(\".selector\").validate({\r\n * showErrors: function(errorMap, errorList) {\r\n * $(\"#summary\").html(\"Your form contains \"\r\n * + this.numberOfInvalids()\r\n * + \" errors, see details below.\");\r\n * this.defaultShowErrors();\r\n * }\r\n * });\r\n */\n\n /**\r\n * Función de callback que permite personalizar el lugar en el que se posicionarán los mensajes de error.\r\n *\r\n * @callback module:rup_validate~onErrorPlacement\r\n * @param {jQuery} error - Referencia al objeto label que va a ser insertado en el DOM para visualizar los errores.\r\n * @param {jQuery} element - Referencia al campo validado.\r\n * @example\r\n * $(\"#myform\").validate({\r\n * errorPlacement: function(error, element) {\r\n * error.appendTo( element.parent(\"td\").next(\"td\") );\r\n * }\r\n * });\r\n */\n\n /**\r\n * Función de callback para determinar como se debe resaltar los campos inválidos.\r\n *\r\n * @callback module:rup_validate~onHighlight\r\n * @param {jQuery} element - Referencia al campo validado.\r\n * @param {String} errorClass - Valor actual del parámetro errorClass.\r\n * @param {String} validClass - Valor actual del parámetro validClass.\r\n * @example\r\n * $(\".selector\").validate({\r\n * highlight: function(element, errorClass, validClass) {\r\n * $(element).fadeOut(function() {\r\n * $(element).fadeIn();\r\n * });\r\n * }\r\n * });\r\n */\n\n /**\r\n * Función de callback para determinar como se debe resaltar los campos inválidos.\r\n *\r\n * @callback module:rup_validate~onUnhighlight\r\n * @param {jQuery} element - Referencia al campo validado.\r\n * @param {String} errorClass - Valor actual del parámetro errorClass.\r\n * @param {String} validClass - Valor actual del parámetro validClass.\r\n * @example\r\n * $(\".selector\").validate({\r\n * highlight: function(element, errorClass, validClass) {\r\n * $(element).addClass(errorClass).removeClass(validClass);\r\n * $(element.form).find(\"label[for=\" + element.id + \"]\")\r\n * .addClass(errorClass);\r\n * },\r\n * unhighlight: function(element, errorClass, validClass) {\r\n * $(element).removeClass(errorClass).addClass(validClass);\r\n * $(element.form).find(\"label[for=\" + element.id + \"]\")\r\n * .removeClass(errorClass);\r\n * }\r\n * });\r\n */\n\n /**\r\n * @description Propiedades de configuración del componente.\r\n * @see Para mas información consulte la documentación acerca de las opciones de configuración del plugin {@link http://jqueryvalidation.org/validate/|jQuery Validation Plugin}.\r\n *\r\n * @name options\r\n * @property {boolean} [debug=false] - Activa el modo debug. En caso de estar activado el formulario no se envía el formulario y los errores de ejecución que se hayan producido se visualizan en la consola. Requiere Firebug o Firebug lite.\r\n * @property {module:rup_validate~onSubmitHandler} [submitHandler] - Método callback utilizado para capturar el evento submit cuando el formulario es válido. Reemplaza el submit por defecto. Es el método utilizado para realizar un submit mediante AJAX después de ser validado.\r\n * @property {module:rup_validate~onInvalidHandler} [invalidHandler] - Método callback que se ejecuta cuando un formulario presenta errores de validación.\r\n * @property {Selector} [ignore] - Selector jQuery que identifica los elementos del formulario que van a ser ignorados al realizarse las validaciones.\r\n * @property {object} [messages] - Utilizado para indicar mensajes propios para las validaciones. Estos se especifican mediante pares de clave/valor. La clave es el nombre del elemento mientras que el valor es el texto que se ha de mostrar en caso de producirse un error en la validación.\r\n * @property {object} [groups] - Se utiliza para realizar agrupamientos de mensajes de error.\r\n * @property {boolean} [onsubmit=true] - Determina si se valida el formulario al realizarse el submit. Marcar como false para realizar las validaciones mediante el resto de eventos.\r\n * @property {boolean} [ofocusout=true] - Determina si se realiza la validación de los campos (excepto los checkbox y radio) al lanzarse los eventos blur. Estas validaciones se realizan únicamente una vez que un campo ha sido marcado como inválido.\r\n * @property {boolean} [okeyup=true] - Determina si se realiza la validación de los campos (excepto los checkbox y radio) al lanzarse los eventos keyup. Las validaciones se realizan únicamente una vez que un campo ha sido marcado como inválido.\r\n * @property {boolean} [onclick=true] - Determina si se realizan las validaciones de los checkbox y radio al realizar un click sobre los mismos.\r\n * @property {boolean} [focusInvalid=true] - Posiciona el foco en el último campo activo o en el primer campo inválido la realizarse la validación de los campos. En caso de encontrarse el foco en un campo al realizarse la validación se mantiene en dicho campo. En caso de no encontrarse el foco en un campo, se posicionará en el primer campo inválido existente.\r\n * @property {boolean} [focusCleanup=false] - En caso de activarse, elimina el errorClass correspondiente y oculta los mensajes de error de los campos que reciben el foco. Evitar utilizar esta propiedad en conjunción con focusInvalid.\r\n * @property {Selector} [meta] - En caso de utilizar metainformación en los campos que sea utilizada por otros plugins, es posible indicar un identificador para envolver la metadata correspondiente al el componente validate dentro de un objeto propio.\r\n * @property {String} [errorClass=error] - Determina el nombre del class que va a aplicarse a los campos que presenten errores de validación.\r\n * @property {String} [validClass=valid] - Determina el nombre del class que va a aplicarse a los campos que han sido validados y no presenten errores.\r\n * @property {String} [errorElement=label] - Determina el tipo del elemento que va a utilizarse para generar los mensajes de error.\r\n * @property {String} [wrapper=window] - Recubre los mensajes de error con el elemento especificado. Util en conjunción la propiedad errorLabelContainer para crear listado de errores.\r\n * @property {Selector} [errorLabelContainer] - Determina el objeto contenedor en el que se van a mostrar los mensajes de error.\r\n * @property {Selector} [errorContainer] - Determina un contenedor adicional para los mensajes de error.\r\n * @property {boolean} [ignoreTitle=false] - Determina si se evita el obtener los mensajes a partir del atributo title.\r\n * @property {module:rup_validate~onShowErrors} [showErrors] - Función callback para realizar un tratamiento personalizado de los errores de validación.\r\n * @property {module:rup_validate~onErrorPlacement} [errorPlacement] - Función de callback que permite personalizar el lugar en el que se posicionarán los mensajes de error.\r\n * @property {module:rup_validate~onHighlight} [highlight] - Función de callback para determinar como se debe resaltar los campos inválidos.\r\n * @property {module:rup_validate~onUnhighlight} [unhighlight] - Función de callback para restaurar los cambios realizados por la función indicada en la propiedad highlight.\r\n */\n\n /* **********/\n /* EVENTOS */\n /* **********/\n\n /**\r\n * Este evento es lanzado cuando se produce alguna violación entre las reglas de validación especificadas para ser aplicadas sobre los campos del formulario.\r\n *\r\n * @event module:rup_validate#rupValidate_formValidationError\r\n * @property {Event} e - Objeto Event correspondiente al evento disparado.\r\n * @example\r\n * $(\"#idFormulario\").on(\"rupValidate_formValidationError\", function(event){\r\n * });\r\n */\n })[\"catch\"](function (error) {\n console.error('Error al inicializar el componente:\\n', error);\n });\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\"), __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack://rup/./src/rup.validate.js?"); +eval("/* WEBPACK VAR INJECTION */(function(global, $) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\r\n * Copyright 2016 E.J.I.E., S.A.\r\n *\r\n * Licencia con arreglo a la EUPL, Versión 1.1 exclusivamente (la «Licencia»);\r\n * Solo podrá usarse esta obra si se respeta la Licencia.\r\n * Puede obtenerse una copia de la Licencia en\r\n *\r\n * http://ec.europa.eu/idabc/eupl.html\r\n *\r\n * Salvo cuando lo exija la legislación aplicable o se acuerde por escrito,\r\n * el programa distribuido con arreglo a la Licencia se distribuye «TAL CUAL»,\r\n * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas.\r\n * Véase la Licencia en el idioma concreto que rige los permisos y limitaciones\r\n * que establece la Licencia.\r\n */\n\n/**\r\n * Permite al usuario validar los datos introducidos en los campos que se presentan en la aplicación.\r\n *\r\n * @summary Componente RUP Validate.\r\n * @module rup_validate\r\n * @see El componente está basado en el plugin {@link http://jqueryvalidation.org/|jQuery Validation Plugin}. Para mas información acerca de las funcionalidades y opciones de configuración pinche {@link http://jqueryvalidation.org/|aquí}.\r\n * @example\r\n * var properties={\r\n * rules:{\r\n * \"campoObligatorio\":{required:true},\r\n * \"dni\":{required:true,dni:true}\r\n * }\r\n * };\r\n * $(\"#formValidaciones\").rup_validate(properties);\r\n */\n\n(function (factory) {\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"), __webpack_require__(/*! ./rup.base */ \"./src/rup.base.js\"), __webpack_require__(/*! jquery-validation */ \"./node_modules/jquery-validation/dist/jquery.validate.js\"), __webpack_require__(/*! jquery-validation/dist/additional-methods */ \"./node_modules/jquery-validation/dist/additional-methods.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(function (jQuery) {\n global.initRupI18nPromise.then(function () {\n //*********************************************\n // ESPECIFICACÍON DE LOS TIPOS BASE DEL PATRÓN\n //*********************************************\n\n //*****************************************************************************************************************\n // DEFINICIÓN BASE DEL PATRÓN (definición de la variable privada que contendrá los métodos y la función de jQuery)\n //*****************************************************************************************************************\n\n var rup_validate = {};\n $.rup_validate = {};\n\n //Se configura el arranque de UDA para que alberge el nuevo patrón\n $.extend($.rup.iniRup, $.rup.rupSelectorObjectConstructor('rup_validate', rup_validate));\n\n // Se configuran los mensajes idiomaticos.\n var messages = {};\n\n // Es necesario identificar los mensajes parametrizables. Para ello se buscan los fragmentos de tipo {i} para ser tratados por la funcion format del validador.\n var regularExpr = new RegExp('\\\\{\\\\d\\\\}');\n $.each($.rup.i18n.base.rup_validate.messages, function (key, value) {\n if (value.match(regularExpr) !== null) {\n messages[key] = jQuery.validator.format(value);\n } else {\n messages[key] = value;\n }\n });\n\n // Se configruran los mensajes de las reglas de validacion a partir de los definidos en los ficheros idiomaticos.\n $.extend($.validator.messages, messages);\n\n /*\r\n * VALIDACIONES\r\n */\n //sobreescritura\n //\n\n //\n jQuery.validator.addMethod('dni', function (value, element) {\n return this.optional(element) || window.euroNif(value);\n });\n function nif(dni) {\n if (dni.length === 9) {\n var numero = dni.substr(0, 8);\n numero = numero % 23;\n var letra = 'TRWAGMYFPDXBNJZSQVHLCKET';\n letra = letra.substring(numero, numero + 1);\n if (letra != dni.substr(dni.length - 1, dni.length).toUpperCase()) {\n return false;\n } else {\n return true;\n }\n } else {\n return false;\n }\n }\n function stripHtml(value) {\n // remove html tags and space chars\n return value.replace(/<.[^<>]*?>/g, ' ').replace(/ | /gi, ' ')\n // remove numbers and punctuation\n .replace(/[0-9.(),;:!?%#$'\"_+=/-]*/g, '');\n }\n\n // Dni\n jQuery.validator.addMethod('dni', function (value, element) {\n return this.optional(element) || nif(value);\n });\n\n // Numero maximo de palabras\n jQuery.validator.addMethod('maxWords', function (value, element, params) {\n return this.optional(element) || stripHtml(value).match(/\\b\\w+\\b/g).length < params;\n });\n\n // Numero minimo de palabras\n jQuery.validator.addMethod('minWords', function (value, element, params) {\n return this.optional(element) || stripHtml(value).match(/\\b\\w+\\b/g).length >= params;\n });\n\n // Intervalo de palabras\n jQuery.validator.addMethod('rangeWords', function (value, element, params) {\n return this.optional(element) || stripHtml(value).match(/\\b\\w+\\b/g).length >= params[0] && value.match(/bw+b/g).length < params[1];\n });\n\n // Letras y caracteres de puntuacion\n jQuery.validator.addMethod('letterswithbasicpunc', function (value, element) {\n return this.optional(element) || /^[a-z-.,()'\"\\s]+$/i.test(value);\n });\n\n // Letras (unicode), tildes y caracteres de puntuación.\n jQuery.validator.addMethod('lettersunicodewithbasicpunc', function (value, element) {\n return this.optional(element) || /^(?:[\\t-\\r \"'-\\),\\.A-Za-z\\xA0\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3000\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CD\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7DC\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFEFF\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDDC0-\\uDDF3\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDD4A-\\uDD65\\uDD6F-\\uDD85\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDEC2-\\uDEC4\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE3F\\uDE40\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61\\uDF80-\\uDF89\\uDF8B\\uDF8E\\uDF90-\\uDFB5\\uDFB7\\uDFD1\\uDFD3]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8\\uDFC0-\\uDFE0]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDF02\\uDF04-\\uDF10\\uDF12-\\uDF33\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD80E\\uD80F\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD887][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2F\\uDC41-\\uDC46\\uDC60-\\uDFFF]|\\uD810[\\uDC00-\\uDFFA]|\\uD811[\\uDC00-\\uDE46]|\\uD818[\\uDD00-\\uDD1D]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDD40-\\uDD6C\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDCFF-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD32\\uDD50-\\uDD52\\uDD55\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E\\uDF25-\\uDF2A]|\\uD838[\\uDC30-\\uDC6D\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDCD0-\\uDCEB\\uDDD0-\\uDDED\\uDDF0\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF39\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0\\uDFF0-\\uDFFF]|\\uD87B[\\uDC00-\\uDE5D]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD888[\\uDC00-\\uDFAF])+$/i.test(value);\n });\n\n // Letras, numeros, espacios o guiones bajos\n jQuery.validator.addMethod('alphanumeric', function (value, element) {\n return this.optional(element) || /^\\w+$/i.test(value);\n });\n\n // Solo letras\n jQuery.validator.addMethod('lettersonly', function (value, element) {\n return this.optional(element) || /^[a-z]+$/i.test(value);\n });\n\n // Solo letras (unicode) y tildes.\n jQuery.validator.addMethod('lettersunicodeonly', function (value, element) {\n return this.optional(element) || /^(?:[A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CD\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7DC\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDDC0-\\uDDF3\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDD4A-\\uDD65\\uDD6F-\\uDD85\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDEC2-\\uDEC4\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE3F\\uDE40\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61\\uDF80-\\uDF89\\uDF8B\\uDF8E\\uDF90-\\uDFB5\\uDFB7\\uDFD1\\uDFD3]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8\\uDFC0-\\uDFE0]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDF02\\uDF04-\\uDF10\\uDF12-\\uDF33\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD80E\\uD80F\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD887][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2F\\uDC41-\\uDC46\\uDC60-\\uDFFF]|\\uD810[\\uDC00-\\uDFFA]|\\uD811[\\uDC00-\\uDE46]|\\uD818[\\uDD00-\\uDD1D]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDD40-\\uDD6C\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDCFF-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD32\\uDD50-\\uDD52\\uDD55\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E\\uDF25-\\uDF2A]|\\uD838[\\uDC30-\\uDC6D\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDCD0-\\uDCEB\\uDDD0-\\uDDED\\uDDF0\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF39\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0\\uDFF0-\\uDFFF]|\\uD87B[\\uDC00-\\uDE5D]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD888[\\uDC00-\\uDFAF])+$/i.test(value);\n });\n\n // Solo letras y permite espacios.\n jQuery.validator.addMethod('letters', function (value, element) {\n return this.optional(element) || /^[a-z\\s]+$/i.test(value);\n });\n\n // Solo letras (unicode), tildes y permite espacios.\n jQuery.validator.addMethod('lettersunicode', function (value, element) {\n return this.optional(element) || /^(?:[\\t-\\r A-Za-z\\xA0\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3000\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CD\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7DC\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFEFF\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDDC0-\\uDDF3\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDD4A-\\uDD65\\uDD6F-\\uDD85\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDEC2-\\uDEC4\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE3F\\uDE40\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61\\uDF80-\\uDF89\\uDF8B\\uDF8E\\uDF90-\\uDFB5\\uDFB7\\uDFD1\\uDFD3]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8\\uDFC0-\\uDFE0]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDF02\\uDF04-\\uDF10\\uDF12-\\uDF33\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD80E\\uD80F\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD887][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2F\\uDC41-\\uDC46\\uDC60-\\uDFFF]|\\uD810[\\uDC00-\\uDFFA]|\\uD811[\\uDC00-\\uDE46]|\\uD818[\\uDD00-\\uDD1D]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDD40-\\uDD6C\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDCFF-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD32\\uDD50-\\uDD52\\uDD55\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E\\uDF25-\\uDF2A]|\\uD838[\\uDC30-\\uDC6D\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDCD0-\\uDCEB\\uDDD0-\\uDDED\\uDDF0\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF39\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0\\uDFF0-\\uDFFF]|\\uD87B[\\uDC00-\\uDE5D]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD888[\\uDC00-\\uDFAF])+$/i.test(value);\n });\n\n // Espacios no permitidos\n jQuery.validator.addMethod('nowhitespace', function (value, element) {\n return this.optional(element) || /^\\S+$/i.test(value);\n });\n\n // Entero positivo o negativo\n jQuery.validator.addMethod('integer', function (value, element) {\n return this.optional(element) || /^-?\\d+$/.test(value);\n });\n\n // Patron\n jQuery.validator.addMethod('pattern', function (value, element, param) {\n return this.optional(element) || param.test(value);\n });\n\n // Validacion de campo numerico. Tiene en cuenta el formato dependiendo de la locale\n jQuery.validator.addMethod('number', function (value, element) {\n var expr = new RegExp($.rup.i18n.base.rup_validate.regexp.decimal);\n return this.optional(element) || expr.test(value);\n });\n\n // Validacion de fecha. Tiene en cuanta el formato dependiendo de la locale\n jQuery.validator.addMethod('date', function (value, element, param) {\n var format;\n if (typeof param === 'boolean') {\n if (param === true) {\n format = $.rup.i18n.base.rup_validate.format.date;\n } else {\n return true;\n }\n } else {\n format = param;\n }\n return this.optional(element) || $.rup_validate.checkDate(format, value);\n });\n\n // Validacion email.De acuerdo a la oficial RFC 5322 http://www.ietf.org/rfc/rfc5322.txt\n jQuery.validator.addMethod('email', function (value, element) {\n var expr = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return this.optional(element) || expr.test(value);\n });\n\n //********************************\n // DEFINICIÓN DE MÉTODOS PÚBLICOS\n //********************************\n\n $.extend($.rup_validate, {\n // Metodo que valida una fecha de acuerdo al formato indicado\n checkDate: function checkDate(format, date) {\n var daysInFebruary = function daysInFebruary(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0) ? 29 : 28;\n },\n DaysArray = function DaysArray(n) {\n var rdo = [];\n for (var i = 1; i <= n; i++) {\n rdo[i] = 31;\n if (i == 4 || i == 6 || i == 9 || i == 11) {\n rdo[i] = 30;\n }\n if (i == 2) {\n rdo[i] = 29;\n }\n }\n return rdo;\n };\n var tsp = {},\n sep;\n format = format.toLowerCase();\n // Se busca el separador de fecha entre los caracteres \"/\",\"-\",\".\"\n if (format.indexOf('/') != -1) {\n sep = '/';\n } else if (format.indexOf('-') != -1) {\n sep = '-';\n } else if (format.indexOf('.') != -1) {\n sep = '.';\n } else {\n sep = '/';\n }\n format = format.split(sep);\n date = date.split(sep);\n if (date.length != 3) {\n return false;\n }\n var j = -1,\n yln,\n dln = -1,\n mln = -1;\n for (var i = 0; i < format.length; i++) {\n var dv = date[i] === null || date[i] === '' || isNaN(date[i]) ? 0 : parseInt(date[i], 10);\n tsp[format[i]] = dv;\n yln = format[i];\n if (yln.indexOf('y') != -1) {\n j = i;\n }\n if (yln.indexOf('m') != -1) {\n mln = i;\n }\n if (yln.indexOf('d') != -1) {\n dln = i;\n }\n }\n if (format[j] == 'y' || format[j] == 'yyyy') {\n yln = 4;\n } else if (format[j] == 'yy') {\n yln = 2;\n } else {\n yln = -1;\n }\n var daysInMonth = DaysArray(12),\n strDate;\n if (j === -1) {\n return false;\n } else {\n strDate = tsp[format[j]].toString();\n if (yln == 2 && strDate.length == 1) {\n yln = 1;\n }\n if (strDate.length != yln || tsp[format[j]] === 0 && date[j] != '00') {\n return false;\n }\n }\n if (mln === -1) {\n return false;\n } else {\n strDate = tsp[format[mln]].toString();\n if (strDate.length < 1 || tsp[format[mln]] < 1 || tsp[format[mln]] > 12) {\n return false;\n }\n }\n if (dln === -1) {\n return false;\n } else {\n strDate = tsp[format[dln]].toString();\n if (strDate.length < 1 || tsp[format[dln]] < 1 || tsp[format[dln]] > 31 || tsp[format[mln]] == 2 && tsp[format[dln]] > daysInFebruary(tsp[format[j]]) || tsp[format[dln]] > daysInMonth[tsp[format[mln]]]) {\n return false;\n }\n }\n return true;\n }\n });\n $.fn.rup_validate('extend', {\n /**\r\n * Se eliminan todos los objetos y eventos credos por el componente.\r\n *\r\n * @function destroy\r\n * @example\r\n * $(\"#formValidaciones\").rup_validate(\"destroy\");\r\n */\n destroy: function destroy() {\n var self = this;\n\n // Se eliminan los mensajes de error.\n self.rup_validate('resetForm');\n // Se elimina la informacion almacenada en el objeto.\n $.removeData(self[0]);\n // Se eliminan los eventos asociados al objeto.\n self.off();\n },\n /**\r\n * Se realiza un reset del formulario y se eliminan los mensajes de error de las reglas de validacion.\r\n *\r\n * @function resetForm\r\n * @example\r\n * $(\"#formValidaciones\").rup_validate(\"resetForm\");\r\n */\n resetForm: function resetForm() {\n var self = this,\n settings = self.data('settings'),\n selects = $('[ruptype=\\'select\\']', self);\n\n // En caso de mostrarse el feedback de error se oculta.\n if (settings != null && settings.feedback !== undefined && settings.showErrorsInFeedback) {\n settings.feedback.rup_feedback('hide');\n }\n\n // Limpiar los select por completo. Es importante hacerlo antes de la llamada a \"resetForm\" porque si no la limpieza de los labels no es llevada a cabo.\n if (selects.length > 0) {\n selects.each(function (index, elem) {\n $(elem).rup_select('clear');\n });\n }\n\n // Se reinician los mensajes de error.\n self.validate().resetForm();\n },\n /**\r\n * Se eliminan los menssajes de error de las reglas de validacion.\r\n *\r\n * @function resetElements\r\n * @example\r\n * $(\"#formValidaciones\").rup_validate(\"resetElements\");\r\n */\n resetElements: function resetElements() {\n var self = this,\n validator = self.validate();\n validator.resetElements(validator.elements());\n }\n });\n\n //********************************\n // DEFINICIÓN DE MÉTODOS PRIVADOS\n //********************************\n $.fn.rup_validate('extend', {});\n\n //*****************************\n // INICIALIZACION DE VARIABLES\n //*****************************\n\n // Propiedades de configuracion predeterminadas para cada una de las posibles parametrizaciones de los errores.\n var presetSettings = {\n // Configruacion del componente por defecto\n defaultPresetSettings: {\n showErrors: function showErrors(errors) {\n var self = this,\n errorText,\n feedback,\n field,\n errorKey,\n fieldError,\n fieldErrorMsg,\n error,\n label;\n\n // Se comprueba si el parametro que contiene los errores está vacío. En este caso se\n if (self.currentElements.length === 1) {\n if ($.isEmptyObject(errors)) {\n delete self.invalid[self.currentElements.attr('name')];\n }\n }\n\n /*\r\n * Mostrar mensaje de error de validaciones en el feedback\r\n */\n feedback = self.settings.feedback;\n if (self.settings.showErrorsInFeedback && feedback !== undefined && feedback !== null) {\n errorText = $('
          ').addClass('rup-maint_feedbackUL').prepend(self.settings.feedbackErrorConfig.errorMsg);\n if (jQuery.isEmptyObject(self.invalid)) {\n feedback.rup_feedback('close');\n } else {\n if (self.settings.showFieldErrorsInFeedback) {\n $.each(!jQuery.isEmptyObject(self.submitted) ? self.submitted : self.invalid, function (key, value) {\n if (self.invalid[key] !== undefined) {\n field = self.settings.feedbackErrorConfig.getField(self, self.currentForm, key);\n errorKey = self.settings.feedbackErrorConfig.getFieldName(self, self.currentForm, field);\n fieldError = self.settings.feedbackErrorConfig.getFieldErrorLabel(self, self.currentForm, field, errorKey);\n fieldErrorMsg = self.settings.feedbackErrorConfig.getFieldErrorMsg(self, self.currentForm, field, value);\n fieldError.append(fieldErrorMsg);\n errorText.append(fieldError);\n }\n });\n }\n feedback.rup_feedback('option', self.settings.feedbackOptions);\n feedback.rup_feedback('set', errorText, 'error');\n }\n }\n\n /*\r\n * Mostrar detalle de errores en el feedback\r\n */\n if (self.settings.showFieldErrorAsDefault) {\n for (var i = 0; self.errorList[i]; i++) {\n error = self.errorList[i];\n if (error.element !== undefined) {\n label = self.errorsFor(error.element);\n if (label.length) {\n label.remove();\n }\n }\n }\n }\n\n /* En caso de utilizar el tratamiento por defecto del componente de jquery.validate,\r\n * no es posible indicarle varios mensajes de error para un campo.\r\n * Por ello deberemos concatenar estos mensajes de error en caso de que se de el caso.\r\n */\n for (var _i = 0; _i < self.errorList.length; _i++) {\n if (self.errorList[_i].element === undefined) {\n $.rup.errorGestor($.rup.i18nParse($.rup.i18n.base, 'rup_validate.messages.fieldError'), $.rup.i18nParse($.rup.i18n.base, 'rup_validate.messages.validationErrorTitle'));\n }\n if (Array.isArray(self.errorList[_i].message)) {\n // En caso de que el mensaje de error sea un array de mensajes, se debera de recorrer y concatenar\n var newMessage = '';\n for (var j = 0; j < self.errorList[_i].message.length; j++) {\n newMessage += self.errorList[_i].message[j];\n if (j !== self.errorList[_i].message.length - 1) {\n newMessage += ', ';\n }\n }\n self.errorList[_i].message = newMessage;\n }\n }\n\n //Se eliminan los iconos duplicados\n var elements = self.currentForm.getElementsByClassName('rup-validate-error-icon');\n while (elements !== undefined && elements.length > 0) {\n elements[0].parentNode.removeChild(elements[0]);\n }\n // Se invoca al metodo por defecto del plugin subyacente\n self.defaultShowErrors();\n },\n showErrorsInFeedback: function showErrorsInFeedback() {},\n errorPlacement: function errorPlacement(label, element) {\n label.insertAfter(element);\n }\n },\n // Configuracion de las propiedades a aplicar en caso de que se deban mostrar los errores mediante la visualizacion por defecto.\n showFieldErrorAsDefault: {\n errorElement: 'img',\n errorPlacement: function errorPlacement(error, element) {\n var errorElem = error.attr('src', this.errorImage).addClass('rup-maint_validateIcon').html('').rup_tooltip({\n 'applyToPortal': true\n });\n errorElem.insertAfter(element);\n }\n }\n };\n $.fn.rup_validate('extend', {\n _init: function _init(args) {\n var self = this,\n settingsAdapter,\n defaultPresetSettings,\n settings;\n settingsAdapter = $.extend(true, {}, {\n adapter: $.fn.rup_validate.defaults.adapter\n }, {\n adapter: presetSettings.defaultPresetSettings.adapter\n }, {\n adapter: args[0].adapter\n });\n self[0]._ADAPTER = $.rup.adapter[settingsAdapter.adapter];\n defaultPresetSettings = $.extend(true, {}, presetSettings.defaultPresetSettings, {\n showFieldErrorAsDefault: {\n highlight: self[0]._ADAPTER.highlight,\n unhighlight: self[0]._ADAPTER.unhighlight,\n errorElement: self[0]._ADAPTER.errorElement,\n errorPlacement: self[0]._ADAPTER.errorPlacement\n }\n });\n // settings = $.extend(true,{},$.fn.rup_validate.defaults, presetSettings.defaultPresetSettings, args[0]);\n\n settings = $.extend(true, {}, $.fn.rup_validate.defaults, defaultPresetSettings, args[0]);\n\n // settings = $.extend(true, {}, defaultSettings, args[0]);\n\n // Anadimos al formulario el class rup_validate para identificarlo como componente formulario.\n self.addClass('rup_validate');\n // Anadimos el ruptype validate\n self.attr('ruptype', 'validate');\n\n /*\r\n * Configuracion del componente de validaciones.\r\n */\n\n // En caso de que se deban mostrar los errores mediante la visualizacion predeterminada se configuran los presets correspondientes.\n if (settings.showFieldErrorAsDefault) {\n settings = $.extend(true, settings, defaultPresetSettings.showFieldErrorAsDefault);\n }\n settings = $.extend(true, {}, settings, args[0]);\n if (settings.onSubmitHandler !== undefined) {\n settings.submitHandler = settings.onSubmitHandler;\n }\n // Se realiza la invocacion al plugin jquery.validate\n self.validate(settings);\n if (settings.showFieldErrorAsDefault) {\n self.validate().showLabel = self[0]._ADAPTER.showLabel;\n }\n\n // Si se ha configurado el componente para que no se realicen validaciones al vuelo de los campos, se eliminan los eventos correspondientes.\n if (!settings.liveCheckingErrors) {\n self.off('click').off('focusin').off('focusout').off('keyup');\n }\n\n // Se captura el evento invalid-form del plugin subyacente para generar un evento propio\n self.on('invalid-form.rupValidate_formValidationError', function () {\n self.off('invalid-form.rupValidate_formValidationError');\n self.triggerHandler('rupValidate_formValidationError', [this]);\n });\n\n // Se almacena la configuracion del componente en el objeto dom para poder recuperarla en sucesivas invocaciones a los metodos del componente.\n self.data('settings', settings);\n }\n });\n\n //*******************************************************\n // DEFINICIÓN DE LA CONFIGURACION POR DEFECTO DEL PATRON\n //*******************************************************\n\n $.fn.rup_validate.defaults = {\n adapter: 'validate_material',\n ignore: '.select2-selection__rendered input',\n feedbackOptions: {\n gotoTop: false,\n fadeSpeed: null,\n delay: null\n },\n feedbackErrorConfig: {\n errorMsg: $.rup.i18nParse($.rup.i18n.base, 'rup_table.validateError'),\n getField: function getField(self, form, fieldName) {\n return $('[name=\\'' + fieldName + '\\']', form);\n },\n getFieldName: function getFieldName(self, form, field) {\n var fieldTmp, labelAttributes, labelElem;\n fieldTmp = jQuery(field.length > 1 ? field[0] : field);\n labelAttributes = {\n labelForId: fieldTmp.attr('id'),\n labelForName: fieldTmp.attr('name'),\n labelForTitle: fieldTmp.attr('oldtitle')\n };\n labelElem = $.rup.adapter[$.fn.rup_validate.defaults.adapter];\n if ($.fn.rup_validate.defaults.adapter === 'validate_bootstrap' || 'validate_material') {\n labelElem = labelElem.forLabelElement(form, labelAttributes);\n } else {\n if (labelAttributes.labelForTitle === undefined || labelAttributes.labelForTitle === '') {\n labelElem = labelElem.forLabelElement(form, labelAttributes);\n } else {\n return labelElem.forLabelElement(fieldTmp, labelAttributes);\n }\n }\n if (labelElem !== undefined && labelElem !== '') {\n return labelElem.replace(':', '');\n } else {\n labelElem = $.rup.adapter[$.fn.rup_validate.defaults.adapter].forInputIdElement(form, labelAttributes);\n if (labelElem !== undefined && labelElem !== '') {\n return labelElem.id;\n }\n labelElem = $.rup.adapter[$.fn.rup_validate.defaults.adapter].forInputNameElement(form, labelAttributes);\n if (labelElem !== undefined && labelElem !== '') {\n return labelElem.name;\n }\n }\n return fieldTmp.attr('title');\n },\n getFieldErrorLabel: function getFieldErrorLabel(self, form, field, errorLabel) {\n return $('
        • ').append('' + errorLabel + ':');\n },\n getFieldErrorMsg: function getFieldErrorMsg(self, form, field, errorMsg) {\n /* En caso de utilizar el tratamiento por defecto del componente de jquery.validate,\r\n * no es posible indicarle varios mensajes de error para un campo.\r\n * Por ello deberemos concatenar estos mensajes de error en caso de que se de el caso.\r\n */\n if (Array.isArray(errorMsg)) {\n // En caso de que el mensaje de error sea un array de mensajes, se debera de recorrer y concatenar\n var baseUl = $('
            ');\n for (var i = 0; i < errorMsg.length; i++) {\n baseUl.append($('
          • ').append(errorMsg[i]));\n }\n return baseUl;\n } else {\n return $('
              ').append($('
            • ').append(errorMsg));\n }\n }\n },\n liveCheckingErrors: false,\n showErrorsInFeedback: true,\n showFieldErrorAsDefault: true,\n showFieldErrorsInFeedback: true,\n errorImage: $.rup.STATICS + '/rup/css/images/exclamation.png'\n };\n\n /**\r\n * Función de callback que se ejecutará cuando el formulario sea válido.\r\n *\r\n * @callback module:rup_validate~onSubmitHandler\r\n * @param {Element} form - Referencia al objeto DOM del formulario que está siendo validado.\r\n * @example Envia el formulario cuando este es válido.\r\n * $(\"#idFormulario\").rup_tooltip({\r\n * onSubmitHandler: function(form){\r\n * $(form).ajaxSubmit();\r\n * }\r\n * });\r\n * @example Realizar otras operaciones cuando el formulario es válido.\r\n * $(\"#idFormulario\").rup_tooltip({\r\n * onSubmitHandler: function(form){\r\n // Operaciones extra\r\n * $(form).ajaxSubmit();\r\n * }\r\n * });\r\n */\n\n /**\r\n * Función que se ejecutará cuando el formulario presente errores de validación.\r\n *\r\n * @callback module:rup_validate~onInvalidHandler\r\n * @param {Event} event - Objeto event asociado al evento lanzado.\r\n * @param {object} validator - Instancia del validador asociada al formulario actual.\r\n * @example\r\n * $(\".selector\").validate({\r\n * invalidHandler: function(event, validator) {\r\n * // 'this' refers to the form\r\n * var errors = validator.numberOfInvalids();\r\n * if (errors) {\r\n * var message = errors == 1\r\n * ? 'You missed 1 field. It has been highlighted'\r\n * : 'You missed ' + errors + ' fields. They have been highlighted';\r\n * $(\"div.error span\").html(message);\r\n * $(\"div.error\").show();\r\n * } else {\r\n * $(\"div.error\").hide();\r\n * }\r\n * }\r\n * });\r\n */\n\n /**\r\n * Función que se ejecutará cuando se produzca la validación de los datos permitiendo personalizar los errores de validación.\r\n *\r\n * @callback module:rup_validate~onShowErrors\r\n * @param {Object} errorMap - Pares de clave/valor, donde el key se corresponde con el name del campo del formulario y el value con el mensaje que se va a mostrar para ese campo.\r\n * @param {Object[]} errorList - Array de objetos correspondientes a los campos validados.\r\n * @param {String} errorList.message - Mensaje que va mostrarse para ese campo.\r\n * @param {Element} errorList.element - Objeto del DOM correspondiente a ese campo.\r\n * @example\r\n * $(\".selector\").validate({\r\n * showErrors: function(errorMap, errorList) {\r\n * $(\"#summary\").html(\"Your form contains \"\r\n * + this.numberOfInvalids()\r\n * + \" errors, see details below.\");\r\n * this.defaultShowErrors();\r\n * }\r\n * });\r\n */\n\n /**\r\n * Función de callback que permite personalizar el lugar en el que se posicionarán los mensajes de error.\r\n *\r\n * @callback module:rup_validate~onErrorPlacement\r\n * @param {jQuery} error - Referencia al objeto label que va a ser insertado en el DOM para visualizar los errores.\r\n * @param {jQuery} element - Referencia al campo validado.\r\n * @example\r\n * $(\"#myform\").validate({\r\n * errorPlacement: function(error, element) {\r\n * error.appendTo( element.parent(\"td\").next(\"td\") );\r\n * }\r\n * });\r\n */\n\n /**\r\n * Función de callback para determinar como se debe resaltar los campos inválidos.\r\n *\r\n * @callback module:rup_validate~onHighlight\r\n * @param {jQuery} element - Referencia al campo validado.\r\n * @param {String} errorClass - Valor actual del parámetro errorClass.\r\n * @param {String} validClass - Valor actual del parámetro validClass.\r\n * @example\r\n * $(\".selector\").validate({\r\n * highlight: function(element, errorClass, validClass) {\r\n * $(element).fadeOut(function() {\r\n * $(element).fadeIn();\r\n * });\r\n * }\r\n * });\r\n */\n\n /**\r\n * Función de callback para determinar como se debe resaltar los campos inválidos.\r\n *\r\n * @callback module:rup_validate~onUnhighlight\r\n * @param {jQuery} element - Referencia al campo validado.\r\n * @param {String} errorClass - Valor actual del parámetro errorClass.\r\n * @param {String} validClass - Valor actual del parámetro validClass.\r\n * @example\r\n * $(\".selector\").validate({\r\n * highlight: function(element, errorClass, validClass) {\r\n * $(element).addClass(errorClass).removeClass(validClass);\r\n * $(element.form).find(\"label[for=\" + element.id + \"]\")\r\n * .addClass(errorClass);\r\n * },\r\n * unhighlight: function(element, errorClass, validClass) {\r\n * $(element).removeClass(errorClass).addClass(validClass);\r\n * $(element.form).find(\"label[for=\" + element.id + \"]\")\r\n * .removeClass(errorClass);\r\n * }\r\n * });\r\n */\n\n /**\r\n * @description Propiedades de configuración del componente.\r\n * @see Para mas información consulte la documentación acerca de las opciones de configuración del plugin {@link http://jqueryvalidation.org/validate/|jQuery Validation Plugin}.\r\n *\r\n * @name options\r\n * @property {boolean} [debug=false] - Activa el modo debug. En caso de estar activado el formulario no se envía el formulario y los errores de ejecución que se hayan producido se visualizan en la consola. Requiere Firebug o Firebug lite.\r\n * @property {module:rup_validate~onSubmitHandler} [submitHandler] - Método callback utilizado para capturar el evento submit cuando el formulario es válido. Reemplaza el submit por defecto. Es el método utilizado para realizar un submit mediante AJAX después de ser validado.\r\n * @property {module:rup_validate~onInvalidHandler} [invalidHandler] - Método callback que se ejecuta cuando un formulario presenta errores de validación.\r\n * @property {Selector} [ignore] - Selector jQuery que identifica los elementos del formulario que van a ser ignorados al realizarse las validaciones.\r\n * @property {object} [messages] - Utilizado para indicar mensajes propios para las validaciones. Estos se especifican mediante pares de clave/valor. La clave es el nombre del elemento mientras que el valor es el texto que se ha de mostrar en caso de producirse un error en la validación.\r\n * @property {object} [groups] - Se utiliza para realizar agrupamientos de mensajes de error.\r\n * @property {boolean} [onsubmit=true] - Determina si se valida el formulario al realizarse el submit. Marcar como false para realizar las validaciones mediante el resto de eventos.\r\n * @property {boolean} [ofocusout=true] - Determina si se realiza la validación de los campos (excepto los checkbox y radio) al lanzarse los eventos blur. Estas validaciones se realizan únicamente una vez que un campo ha sido marcado como inválido.\r\n * @property {boolean} [okeyup=true] - Determina si se realiza la validación de los campos (excepto los checkbox y radio) al lanzarse los eventos keyup. Las validaciones se realizan únicamente una vez que un campo ha sido marcado como inválido.\r\n * @property {boolean} [onclick=true] - Determina si se realizan las validaciones de los checkbox y radio al realizar un click sobre los mismos.\r\n * @property {boolean} [focusInvalid=true] - Posiciona el foco en el último campo activo o en el primer campo inválido la realizarse la validación de los campos. En caso de encontrarse el foco en un campo al realizarse la validación se mantiene en dicho campo. En caso de no encontrarse el foco en un campo, se posicionará en el primer campo inválido existente.\r\n * @property {boolean} [focusCleanup=false] - En caso de activarse, elimina el errorClass correspondiente y oculta los mensajes de error de los campos que reciben el foco. Evitar utilizar esta propiedad en conjunción con focusInvalid.\r\n * @property {Selector} [meta] - En caso de utilizar metainformación en los campos que sea utilizada por otros plugins, es posible indicar un identificador para envolver la metadata correspondiente al el componente validate dentro de un objeto propio.\r\n * @property {String} [errorClass=error] - Determina el nombre del class que va a aplicarse a los campos que presenten errores de validación.\r\n * @property {String} [validClass=valid] - Determina el nombre del class que va a aplicarse a los campos que han sido validados y no presenten errores.\r\n * @property {String} [errorElement=label] - Determina el tipo del elemento que va a utilizarse para generar los mensajes de error.\r\n * @property {String} [wrapper=window] - Recubre los mensajes de error con el elemento especificado. Util en conjunción la propiedad errorLabelContainer para crear listado de errores.\r\n * @property {Selector} [errorLabelContainer] - Determina el objeto contenedor en el que se van a mostrar los mensajes de error.\r\n * @property {Selector} [errorContainer] - Determina un contenedor adicional para los mensajes de error.\r\n * @property {boolean} [ignoreTitle=false] - Determina si se evita el obtener los mensajes a partir del atributo title.\r\n * @property {module:rup_validate~onShowErrors} [showErrors] - Función callback para realizar un tratamiento personalizado de los errores de validación.\r\n * @property {module:rup_validate~onErrorPlacement} [errorPlacement] - Función de callback que permite personalizar el lugar en el que se posicionarán los mensajes de error.\r\n * @property {module:rup_validate~onHighlight} [highlight] - Función de callback para determinar como se debe resaltar los campos inválidos.\r\n * @property {module:rup_validate~onUnhighlight} [unhighlight] - Función de callback para restaurar los cambios realizados por la función indicada en la propiedad highlight.\r\n */\n\n /* **********/\n /* EVENTOS */\n /* **********/\n\n /**\r\n * Este evento es lanzado cuando se produce alguna violación entre las reglas de validación especificadas para ser aplicadas sobre los campos del formulario.\r\n *\r\n * @event module:rup_validate#rupValidate_formValidationError\r\n * @property {Event} e - Objeto Event correspondiente al evento disparado.\r\n * @example\r\n * $(\"#idFormulario\").on(\"rupValidate_formValidationError\", function(event){\r\n * });\r\n */\n })[\"catch\"](function (error) {\n console.error('Error al inicializar el componente:\\n', error);\n });\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\"), __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack://rup/./src/rup.validate.js?"); /***/ }), @@ -8717,7 +8717,7 @@ eval("/* WEBPACK VAR INJECTION */(function(jQuery) {var __WEBPACK_AMD_DEFINE_FAC /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("/* WEBPACK VAR INJECTION */(function(jQuery) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n/*! Buttons 2.4.2\r\n * © SpryMedia Ltd - datatables.net/license\r\n */\n\n/**\r\n * @summary Buttons\r\n * @description Buttons for DataTables\r\n * @module \"rup.table.buttons\"\r\n * @version 2.4.2\r\n * @author SpryMedia Ltd (www.sprymedia.co.uk)\r\n * @contact datatables.net\r\n * @copyright SpryMedia Ltd.\r\n *\r\n * This source file is free software, available under the following license:\r\n * MIT license - http://datatables.net/license/mit\r\n *\r\n * This source file is distributed in the hope that it will be useful, but\r\n * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r\n * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.\r\n *\r\n * For details please refer to: http://www.datatables.net\r\n */\n\n(function (factory) {\n if (true) {\n // AMD\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"), __webpack_require__(/*! datatables.net */ \"./node_modules/datatables.net/js/jquery.dataTables.mjs\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function ($) {\n return factory($, window, document);\n }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(function ($, window, document, undefined) {\n 'use strict';\n\n var DataTable = $.fn.dataTable;\n\n // Used for namespacing events added to the document by each instance, so they\n // can be removed on destroy\n var _instCounter = 0;\n\n // Button namespacing counter for namespacing events on individual buttons\n var _buttonCounter = 0;\n\n // Default ID naming counter\n var _buttonIdCounter = 1;\n var _dtButtons = DataTable.ext.buttons;\n\n // Custom entity decoder for data export\n var _entityDecoder = null;\n\n // Allow for jQuery slim\n function _fadeIn(el, duration, fn) {\n if ($.fn.animate) {\n el.stop().fadeIn(duration, fn);\n } else {\n el.css('display', 'block');\n if (fn) {\n fn.call(el);\n }\n }\n }\n function _fadeOut(el, duration, fn) {\n if ($.fn.animate) {\n el.stop().fadeOut(duration, fn);\n } else {\n el.css('display', 'none');\n if (fn) {\n fn.call(el);\n }\n }\n }\n\n /**\r\n * Botones\r\n *\r\n * @name Buttons\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} dt\r\n * @param {object} config\r\n *\r\n */\n var Buttons = function Buttons(dt, config) {\n var _ctx$oInit$buttons$co, _ctx$oInit$buttons$ex, _ctx$oInit$buttons$pd, _ctx$oInit$buttons$od, _ctx$oInit$buttons$cs, _ctx$oInit$buttons$ad, _ctx$oInit$buttons$ed, _ctx$oInit$buttons$cl, _ctx$oInit$buttons$de, _ctx$oInit$buttons$in;\n var idTable = dt.context[0].sTableId;\n var ctx = dt.context[0];\n ctx.ext = DataTable.ext;\n ctx.ext.buttons = {};\n ctx.ext.buttons.defaults = {\n buttons: ['addButton', 'editButton', 'cloneButton', 'deleteButton', 'reportsButton'],\n name: 'main',\n tabIndex: 0,\n dom: {\n container: {\n tag: 'div',\n className: 'dt-buttons row'\n },\n collection: {\n action: {\n // action button\n dropHtml: ''\n },\n container: {\n // The element used for the dropdown\n className: 'dt-button-collection',\n content: {\n className: '',\n tag: 'div'\n },\n tag: 'div'\n }\n // optionally\n // , button: IButton - buttons inside the collection container\n // , split: ISplit - splits inside the collection container\n },\n button: {\n tag: 'button',\n className: 'dt-button col-12 col-sm-auto btn-material',\n active: 'dt-button-active',\n // class name\n disabled: 'disabled',\n // class name\n spacer: {\n className: 'dt-button-spacer',\n tag: 'span'\n },\n liner: {\n tag: 'span',\n className: ''\n }\n },\n split: {\n action: {\n // action button\n className: 'dt-button-split-drop-button dt-button',\n tag: 'button'\n },\n dropdown: {\n // button to trigger the dropdown\n align: 'split-right',\n className: 'dt-button-split-drop',\n dropHtml: '',\n splitAlignClass: 'dt-button-split-left',\n tag: 'button'\n },\n wrapper: {\n // wrap around both\n className: 'dt-button-split',\n tag: 'div'\n }\n }\n }\n };\n ctx.ext.buttons.copyButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.reports.copyButton');\n },\n id: idTable + 'copyButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-low-emphasis buttons-copyButton',\n displayRegex: (_ctx$oInit$buttons$co = ctx.oInit.buttons.copy) !== null && _ctx$oInit$buttons$co !== void 0 && _ctx$oInit$buttons$co.displayRegex ? ctx.oInit.buttons.copy.displayRegex : /^\\d+$/,\n // Se muestra siempre que sea un numero positivo o neutro\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'copyButton',\n request: {\n url: '/clipboardReport',\n method: 'POST',\n contentType: 'application/json',\n dataType: 'json',\n reportsExportAllColumns: false\n },\n init: function init(dt, node, config) {\n ctx.ext.buttons.copyButton.eventDT = dt;\n },\n action: function action(e, dt, button, config) {\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (this.processing !== undefined) {\n this.processing(true);\n }\n var that = this;\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeCopyClick', [dt, button, config]);\n _reports(dt, that, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterCopyClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.excelButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.reports.excelButton');\n },\n id: idTable + 'excelButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-low-emphasis buttons-copyButton',\n displayRegex: (_ctx$oInit$buttons$ex = ctx.oInit.buttons.excel) !== null && _ctx$oInit$buttons$ex !== void 0 && _ctx$oInit$buttons$ex.displayRegex ? ctx.oInit.buttons.excel.displayRegex : /^\\d+$/,\n // Se muestra siempre que sea un numero positivo o neutro\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'excelButton',\n request: {\n url: '/xlsxReport',\n method: 'POST',\n contentType: 'application/json',\n dataType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n reportsExportAllColumns: false,\n fileName: 'reportExcel',\n sheetTitle: 'Usuario'\n },\n action: function action(e, dt, button, config) {\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (this.processing !== undefined) {\n this.processing(true);\n }\n var that = this;\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeExcelClick', [dt, button, config]);\n _reports(dt, that, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterExcelClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.pdfButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.reports.pdfButton');\n },\n id: idTable + 'pdfButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-low-emphasis buttons-copyButton',\n displayRegex: (_ctx$oInit$buttons$pd = ctx.oInit.buttons.pdf) !== null && _ctx$oInit$buttons$pd !== void 0 && _ctx$oInit$buttons$pd.displayRegex ? ctx.oInit.buttons.pdf.displayRegex : /^\\d+$/,\n // Se muestra siempre que sea un numero positivo o neutro\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'pdfButton',\n request: {\n url: '/pdfReport',\n method: 'POST',\n contentType: 'application/json',\n dataType: 'application/pdf',\n reportsExportAllColumns: false,\n fileName: 'reportPDF'\n },\n action: function action(e, dt, button, config) {\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (this.processing !== undefined) {\n this.processing(true);\n }\n var that = this;\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforePdfClick', [dt, button, config]);\n _reports(dt, that, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterPdfClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.odsButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.reports.odsButton');\n },\n id: idTable + 'odsButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-low-emphasis buttons-copyButton',\n displayRegex: (_ctx$oInit$buttons$od = ctx.oInit.buttons.ods) !== null && _ctx$oInit$buttons$od !== void 0 && _ctx$oInit$buttons$od.displayRegex ? ctx.oInit.buttons.ods.displayRegex : /^\\d+$/,\n // Se muestra siempre que sea un numero positivo o neutro\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'odsButton',\n request: {\n url: '/odsReport',\n method: 'POST',\n contentType: 'application/json',\n dataType: 'application/vnd.oasis.opendocument.spreadsheet',\n reportsExportAllColumns: false,\n fileName: 'reportODS',\n sheetTitle: 'Usuario'\n },\n action: function action(e, dt, button, config) {\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (this.processing !== undefined) {\n this.processing(true);\n }\n var that = this;\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeOdsClick', [dt, button, config]);\n _reports(dt, that, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterOdsClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.csvButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.reports.csvButton');\n },\n id: idTable + 'csvButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-low-emphasis buttons-copyButton',\n displayRegex: (_ctx$oInit$buttons$cs = ctx.oInit.buttons.csv) !== null && _ctx$oInit$buttons$cs !== void 0 && _ctx$oInit$buttons$cs.displayRegex ? ctx.oInit.buttons.csv.displayRegex : /^\\d+$/,\n // Se muestra siempre que sea un numero positivo o neutro\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'csvButton',\n request: {\n url: '/csvReport',\n method: 'POST',\n contentType: 'application/json',\n dataType: 'text/csv',\n reportsExportAllColumns: false,\n fileName: 'reportCSV',\n sheetTitle: 'Usuario'\n },\n action: function action(e, dt, button, config) {\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (this.processing !== undefined) {\n this.processing(true);\n }\n var that = this;\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeCsvClick', [dt, button, config]);\n _reports(dt, that, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterCsvClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.addButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.add');\n },\n id: idTable + 'addButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-high-emphasis table_toolbar_btnAdd order-1',\n displayRegex: (_ctx$oInit$buttons$ad = ctx.oInit.buttons.add) !== null && _ctx$oInit$buttons$ad !== void 0 && _ctx$oInit$buttons$ad.displayRegex ? ctx.oInit.buttons.add.displayRegex : /^\\d+$/,\n // Se muestra siempre que sea un numero positivo o neutro\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'add',\n init: function init(dt, button, config) {\n ctx.ext.buttons.addButton.eventDT = dt;\n },\n action: function action(e, dt, button, config) {\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeAddClick', [dt, button, config]);\n DataTable.Api().buttons.actions(dt, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterAddClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.editButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.edit');\n },\n id: idTable + 'editButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-high-emphasis table_toolbar_btnEdit order-2',\n displayRegex: (_ctx$oInit$buttons$ed = ctx.oInit.buttons.edit) !== null && _ctx$oInit$buttons$ed !== void 0 && _ctx$oInit$buttons$ed.displayRegex ? ctx.oInit.buttons.edit.displayRegex : /^[1-9][0-9]*$/,\n // Se muestra siempre que sea un numero mayor a 0\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'edit',\n init: function init(dt, button, config) {\n ctx.ext.buttons.editButton.eventDT = dt;\n },\n action: function action(e, dt, button, config) {\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeEditClick', [dt, button, config]);\n DataTable.Api().buttons.actions(dt, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterEditClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.cloneButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.clone');\n },\n id: idTable + 'cloneButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-high-emphasis table_toolbar_btnClone order-3',\n displayRegex: (_ctx$oInit$buttons$cl = ctx.oInit.buttons.clone) !== null && _ctx$oInit$buttons$cl !== void 0 && _ctx$oInit$buttons$cl.displayRegex ? ctx.oInit.buttons.clone.displayRegex : /^1$/,\n // Se muestra solo cuando sea igual a 1\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'clone',\n init: function init(dt, button, config) {\n ctx.ext.buttons.cloneButton.eventDT = dt;\n },\n action: function action(e, dt, button, config) {\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeCloneClick', [dt, button, config]);\n DataTable.Api().buttons.actions(dt, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterCloneClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.deleteButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.delete');\n },\n id: idTable + 'deleteButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-high-emphasis table_toolbar_btnDelete order-4',\n displayRegex: (_ctx$oInit$buttons$de = ctx.oInit.buttons[\"delete\"]) !== null && _ctx$oInit$buttons$de !== void 0 && _ctx$oInit$buttons$de.displayRegex ? ctx.oInit.buttons[\"delete\"].displayRegex : /^[1-9][0-9]*$/,\n // Se muestra siempre que sea un numero mayor a 0\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'delete',\n init: function init(dt, button, config) {\n ctx.ext.buttons.deleteButton.eventDT = dt;\n },\n action: function action(e, dt, button, config) {\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeDeleteClick', [dt, button, config]);\n DataTable.Api().buttons.actions(dt, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterDeleteClick', [dt, button, config]);\n }\n };\n var listadoExports = ['copyButton', 'excelButton', 'pdfButton', 'odsButton', 'csvButton'];\n ctx.ext.buttons.reportsButton = {\n extend: 'collection',\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.reports.main');\n },\n id: idTable + 'informes_01',\n className: 'btn-material-primary-medium-emphasis order-last ml-1 ml-lg-auto',\n displayRegex: (_ctx$oInit$buttons$in = ctx.oInit.buttons.informe) !== null && _ctx$oInit$buttons$in !== void 0 && _ctx$oInit$buttons$in.displayRegex ? ctx.oInit.buttons.informe.displayRegex : /^\\d+$/,\n // Se muestra siempre que sea un numero positivo o neutro\n autoClose: true,\n type: 'reports',\n reportsExportAllColumns: false,\n buttons: listadoExports\n };\n\n // Almacena los identificadores de los botones personalizados.\n ctx.ext.buttons.custom = [];\n\n // Ajusta el tamaño de los botones por defecto en caso de que haya sido especificado en las preferencias\n if (ctx.oInit.buttons.size !== undefined) {\n $.each(ctx.ext.buttons, function (name, item) {\n if (item.className !== undefined) {\n if (ctx.oInit.buttons.size === 'lg') {\n item.className += \" btn-material-lg\";\n } else if (ctx.oInit.buttons.size === 'sm') {\n item.className += \" btn-material-sm\";\n }\n }\n });\n }\n if (ctx.oInit.buttons.blackListButtons !== undefined) {\n if (ctx.oInit.buttons.blackListButtons === 'all') {\n //si no se quiere ninguno se elimina\n listadoExports = [];\n ctx.ext.buttons.defaults.buttons = [];\n } else if (ctx.oInit.buttons.blackListButtons && ctx.oInit.buttons.blackListButtons.length > 0) {\n $.each(ctx.oInit.buttons.blackListButtons, function () {\n var name = this;\n var pos = $.inArray(name, listadoExports);\n if (pos >= 0) {\n listadoExports.splice(pos, 1);\n }\n //Resto de botones\n var posBoton = $.inArray(name, ctx.ext.buttons.defaults.buttons);\n if (posBoton >= 0) {\n ctx.ext.buttons.defaults.buttons.splice(posBoton, 1);\n }\n });\n }\n }\n\n // Añadir los botones de la edición en línea.\n if (!ctx.oInit.noEdit && ctx.oInit.inlineEdit !== undefined) {\n $.extend(ctx.ext.buttons, ctx.oInit.inlineEdit.myButtons);\n for (var nameButton in ctx.oInit.inlineEdit.myButtons) {\n ctx.ext.buttons.defaults.buttons.push(nameButton);\n }\n }\n // Añadir los botones personalizados.\n if (ctx.oInit.buttons.myButtons !== undefined) {\n $.extend(ctx.ext.buttons, ctx.oInit.buttons.myButtons);\n for (var _nameButton in ctx.oInit.buttons.myButtons) {\n ctx.ext.buttons.defaults.buttons.push(_nameButton);\n ctx.ext.buttons.custom.push(ctx.oInit.buttons.myButtons[_nameButton].id);\n }\n }\n\n // If not created with a `new` keyword then we return a wrapper function that\n // will take the settings object for a DT. This allows easy use of new instances\n // with the `layout` option - e.g. `topLeft: $.fn.dataTable.Buttons( ... )`.\n if (!(this instanceof Buttons)) {\n return function (settings) {\n return new Buttons(settings, dt).container();\n };\n }\n\n // If there is no config set it to an empty object\n if (typeof config === 'undefined') {\n config = {};\n }\n\n // Allow a boolean true for defaults\n if (config === true) {\n config = {};\n }\n\n // For easy configuration of buttons an array can be given\n if (Array.isArray(config)) {\n config = {\n buttons: config\n };\n }\n this.c = $.extend(true, {}, ctx.ext.buttons.defaults, config);\n\n // Don't want a deep copy for the buttons\n if (config.buttons) {\n this.c.buttons = config.buttons;\n }\n this.s = {\n dt: new DataTable.Api(dt),\n buttons: [],\n listenKeys: '',\n namespace: 'dtb' + _instCounter++\n };\n this.dom = {\n container: $('<' + this.c.dom.container.tag + '>').addClass(this.c.dom.container.className).attr('id', ctx.sTableId + '_containerToolbar')\n };\n this._constructor();\n };\n $.extend(Buttons.prototype, {\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * Public methods\r\n */\n\n /**\r\n * Get the action of a button\r\n *\r\n * @name action\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {int|string} Button index\r\n * @return {function}\r\n *\r\n */\n /**\r\n * Set the action of a button\r\n *\r\n * @name action\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} node Button element\r\n * @param {function} action Function to set\r\n * @return {Buttons} Self for chaining\r\n *\r\n */\n action: function action(node, _action) {\n var button = this._nodeToButton(node);\n if (_action === undefined) {\n return button.conf.action;\n }\n button.conf.action = _action;\n return this;\n },\n /**\r\n * Add an active class to the button to make to look active or get current\r\n * active state.\r\n *\r\n * @name active\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} node Button element\r\n * @param {boolean} [flag] Enable / disable flag\r\n * @return {Buttons} Self for chaining or boolean for getter\r\n *\r\n */\n active: function active(node, flag) {\n var button = this._nodeToButton(node);\n var klass = this.c.dom.button.active;\n var jqNode = $(button.node);\n if (button.inCollection && this.c.dom.collection.button && this.c.dom.collection.button.active !== undefined) {\n klass = this.c.dom.collection.button.active;\n }\n if (flag === undefined) {\n return jqNode.hasClass(klass);\n }\n jqNode.toggleClass(klass, flag === undefined ? true : flag);\n return this;\n },\n /**\r\n * Add a new button\r\n *\r\n * @name add\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} config Button configuration object, base string name or function\r\n * @param {int|string} [idx] Button index for where to insert the button\r\n * @param {boolean} [draw=true] Trigger a draw. Set a false when adding\r\n * lots of buttons, until the last button.\r\n * @return {Buttons} Self for chaining\r\n *\r\n */\n add: function add(config, idx, draw) {\n var buttons = this.s.buttons;\n if (typeof idx === 'string') {\n var split = idx.split('-');\n var base = this.s;\n for (var i = 0, ien = split.length - 1; i < ien; i++) {\n base = base.buttons[split[i] * 1];\n }\n buttons = base.buttons;\n idx = split[split.length - 1] * 1;\n }\n this._expandButton(buttons, config, config !== undefined ? config.split : undefined, (config === undefined || config.split === undefined || config.split.length === 0) && base !== undefined, false, idx);\n if (draw === undefined || draw === true) {\n this._draw();\n }\n return this;\n },\n /**\r\n * Clear buttons from a collection and then insert new buttons\r\n */\n collectionRebuild: function collectionRebuild(node, newButtons) {\n var button = this._nodeToButton(node);\n if (newButtons !== undefined) {\n var i;\n // Need to reverse the array\n for (i = button.buttons.length - 1; i >= 0; i--) {\n this.remove(button.buttons[i].node);\n }\n\n // If the collection has prefix and / or postfix buttons we need to add them in\n if (button.conf.prefixButtons) {\n newButtons.unshift.apply(newButtons, button.conf.prefixButtons);\n }\n if (button.conf.postfixButtons) {\n newButtons.push.apply(newButtons, button.conf.postfixButtons);\n }\n for (i = 0; i < newButtons.length; i++) {\n var newBtn = newButtons[i];\n this._expandButton(button.buttons, newBtn, newBtn !== undefined && newBtn.config !== undefined && newBtn.config.split !== undefined, true, newBtn.parentConf !== undefined && newBtn.parentConf.split !== undefined, null, newBtn.parentConf);\n }\n }\n this._draw(button.collection, button.buttons);\n },\n /**\r\n * Get the container node for the buttons\r\n *\r\n * @name container\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @return {jQuery} Buttons node\r\n *\r\n */\n container: function container() {\n return this.dom.container;\n },\n /**\r\n * Disable a button\r\n *\r\n * @name disable\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} node Button node\r\n * @return {Buttons} Self for chaining\r\n *\r\n */\n disable: function disable(node, contextMenu) {\n var button = this._nodeToButton(node);\n $(button.node).addClass(this.c.dom.button.disabled).prop('disabled', true);\n if (contextMenu) {\n $('#' + button.node.id + '_contextMenuToolbar').addClass(this.c.dom.button.disabled);\n }\n return this;\n },\n /**\r\n * Destroy the instance, cleaning up event handlers and removing DOM\r\n * elements\r\n *\r\n * @name destroy\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @return {Buttons} Self for chaining\r\n *\r\n */\n destroy: function destroy() {\n // Key event listener\n $('body').off('keyup.' + this.s.namespace);\n\n // Individual button destroy (so they can remove their own events if\n // needed). Take a copy as the array is modified by `remove`\n var buttons = this.s.buttons.slice();\n var i, ien;\n for (i = 0, ien = buttons.length; i < ien; i++) {\n this.remove(buttons[i].node);\n }\n\n // Container\n this.dom.container.remove();\n\n // Remove from the settings object collection\n var buttonInsts = this.s.dt.settings()[0];\n for (i = 0, ien = buttonInsts.length; i < ien; i++) {\n if (buttonInsts.inst === this) {\n buttonInsts.splice(i, 1);\n break;\n }\n }\n return this;\n },\n /**\r\n * Enable / disable a button\r\n *\r\n * @name enable\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} node Button node\r\n * @param {boolean} [flag=true] Enable / disable flag\r\n * @return {Buttons} Self for chaining\r\n *\r\n */\n enable: function enable(node, flag, contextMenu) {\n if (flag === false) {\n return this.disable(node);\n }\n var button = this._nodeToButton(node);\n $(button.node).removeClass(this.c.dom.button.disabled).prop('disabled', false);\n if (contextMenu) {\n $('#' + button.node.id + '_contextMenuToolbar').removeClass(this.c.dom.button.disabled);\n }\n return this;\n },\n /**\r\n * Get a button's index\r\n *\r\n * This is internally recursive\r\n * @param {element} node Button to get the index of\r\n * @return {string} Button index\r\n */\n index: function index(node, nested, buttons) {\n if (!nested) {\n nested = '';\n buttons = this.s.buttons;\n }\n for (var i = 0, ien = buttons.length; i < ien; i++) {\n var inner = buttons[i].buttons;\n if (buttons[i].node === node) {\n return nested + i;\n }\n if (inner && inner.length) {\n var match = this.index(node, i + '-', inner);\n if (match !== null) {\n return match;\n }\n }\n }\n return null;\n },\n /**\r\n * Get the instance name for the button set selector\r\n *\r\n * @name name\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @return {string} Instance name\r\n *\r\n */\n name: function name() {\n return this.c.name;\n },\n /**\r\n * Get a button's node of the buttons container if no button is given\r\n *\r\n * @name node\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} [node] Button node\r\n * @return {jQuery} Button element, or container\r\n *\r\n */\n node: function node(_node) {\n if (!_node) {\n return this.dom.container;\n }\n var button = this._nodeToButton(_node);\n return $(button.node);\n },\n /**\r\n * Set / get a processing class on the selected button\r\n *\r\n * @name processing\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {element} node Triggering button node\r\n * @param {boolean} flag true to add, false to remove, undefined to get\r\n * @return {boolean|Buttons} Getter value or this if a setter.\r\n *\r\n */\n processing: function processing(node, flag) {\n var dt = this.s.dt;\n var button = this._nodeToButton(node);\n if (flag === undefined) {\n return $(button.node).hasClass('processing');\n }\n $(button.node).toggleClass('processing', flag);\n $(dt.table().node()).triggerHandler('buttons-processing.dt', [flag, dt.button(node), dt, $(node), button.conf]);\n return this;\n },\n /**\r\n * Remove a button.\r\n *\r\n * @name remove\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} node Button node\r\n * @return {Buttons} Self for chaining\r\n *\r\n */\n remove: function remove(node) {\n var button = this._nodeToButton(node);\n var host = this._nodeToHost(node);\n var dt = this.s.dt;\n\n // Remove any child buttons first\n if (button.buttons.length) {\n for (var i = button.buttons.length - 1; i >= 0; i--) {\n this.remove(button.buttons[i].node);\n }\n }\n button.conf.destroying = true;\n\n // Allow the button to remove event handlers, etc\n if (button.conf.destroy) {\n button.conf.destroy.call(dt.button(node), dt, $(node), button.conf);\n }\n this._removeKey(button.conf);\n $(button.node).remove();\n var idx = $.inArray(button, host);\n host.splice(idx, 1);\n return this;\n },\n /**\r\n * Get the text for a button\r\n *\r\n * @name text\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {int|string} node Button index\r\n * @return {string} Button text\r\n *\r\n */\n /**\r\n * Set the text for a button\r\n *\r\n * @name text\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {int|string|function} node Button index\r\n * @param {string} label Text\r\n * @return {Buttons} Self for chaining\r\n *\r\n */\n text: function text(node, label) {\n var button = this._nodeToButton(node);\n var textNode = button.textNode;\n var dt = this.s.dt;\n var jqNode = $(button.node);\n var text = function text(opt) {\n return typeof opt === 'function' ? opt(dt, jqNode, button.conf) : opt;\n };\n if (label === undefined) {\n return text(button.conf.text);\n }\n button.conf.text = label;\n textNode.html(text(label));\n return this;\n },\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * Constructor\r\n */\n\n /**\r\n * Buttons constructor\r\n *\r\n * @name _constructor\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n */\n _constructor: function _constructor() {\n var that = this;\n var dt = this.s.dt;\n var dtSettings = dt.settings()[0];\n var buttons = this.c.buttons;\n if (!dtSettings._buttons) {\n dtSettings._buttons = [];\n }\n dtSettings._buttons.push({\n inst: this,\n name: this.c.name\n });\n for (var i = 0, ien = buttons.length; i < ien; i++) {\n this.add(buttons[i]);\n }\n dt.on('destroy', function (e, settings) {\n if (settings === dtSettings) {\n that.destroy();\n }\n });\n\n // Global key event binding to listen for button keys\n $('body').on('keyup.' + this.s.namespace, function (e) {\n if (!document.activeElement || document.activeElement === document.body) {\n // SUse a string of characters for fast lookup of if we need to\n // handle this\n var character = String.fromCharCode(e.keyCode).toLowerCase();\n if (that.s.listenKeys.toLowerCase().indexOf(character) !== -1) {\n that._keypress(character, e);\n }\n }\n });\n },\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * Private methods\r\n */\n\n /**\r\n * Add a new button to the key press listener\r\n *\r\n * @name _addKey\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} conf Resolved button configuration object\r\n *\r\n */\n _addKey: function _addKey(conf) {\n if (conf.key) {\n this.s.listenKeys += $.isPlainObject(conf.key) ? conf.key.key : conf.key;\n }\n },\n /**\r\n * Insert the buttons into the container. Call without parameters!\r\n *\r\n * @name _draw\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} [container] Recursive only - Insert point\r\n * @param {array} [buttons] Recursive only - Buttons array\r\n *\r\n */\n _draw: function _draw(container, buttons) {\n if (!container) {\n container = this.dom.container;\n buttons = this.s.buttons;\n }\n container.children().detach();\n for (var i = 0, ien = buttons.length; i < ien; i++) {\n container.append(buttons[i].inserter);\n container.append(' ');\n if (buttons[i].buttons && buttons[i].buttons.length) {\n this._draw(buttons[i].collection, buttons[i].buttons);\n }\n }\n },\n /**\r\n * Create buttons from an array of buttons\r\n *\r\n * @name _expandButton\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {array} attachTo Buttons array to attach to\r\n * @param {object} button Button definition\r\n * @param {boolean} inCollection true if the button is in a collection\r\n *\r\n */\n _expandButton: function _expandButton(attachTo, button, split, inCollection, inSplit, attachPoint, parentConf) {\n var dt = this.s.dt;\n var isSplit = false;\n var domCollection = this.c.dom.collection;\n var buttons = !Array.isArray(button) ? [button] : button;\n if (button === undefined) {\n buttons = !Array.isArray(split) ? [split] : split;\n }\n for (var i = 0, ien = buttons.length; i < ien; i++) {\n var conf = this._resolveExtends(buttons[i]);\n if (!conf) {\n continue;\n }\n isSplit = conf.config && conf.config.split ? true : false;\n\n // If the configuration is an array, then expand the buttons at this\n // point\n if (Array.isArray(conf)) {\n this._expandButton(attachTo, conf, built !== undefined && built.conf !== undefined ? built.conf.split : undefined, inCollection, parentConf !== undefined && parentConf.split !== undefined, attachPoint, parentConf);\n continue;\n }\n var built = this._buildButton(conf, inCollection, conf.split !== undefined || conf.config !== undefined && conf.config.split !== undefined, inSplit);\n if (!built) {\n continue;\n }\n if (attachPoint !== undefined && attachPoint !== null) {\n attachTo.splice(attachPoint, 0, built);\n attachPoint++;\n } else {\n attachTo.push(built);\n }\n\n // Create the dropdown for a collection\n if (built.conf.buttons) {\n built.collection = $('<' + domCollection.container.content.tag + '>');\n built.conf._collection = built.collection;\n $(built.node).append(domCollection.action.dropHtml);\n this._expandButton(built.buttons, built.conf.buttons, built.conf.split, !isSplit, isSplit, attachPoint, built.conf);\n }\n\n // And the split collection\n if (built.conf.split) {\n built.collection = $('<' + domCollection.container.tag + '>');\n built.conf._collection = built.collection;\n for (var j = 0; j < built.conf.split.length; j++) {\n var item = built.conf.split[j];\n if (_typeof(item) === 'object') {\n item.parent = parentConf;\n if (item.collectionLayout === undefined) {\n item.collectionLayout = built.conf.collectionLayout;\n }\n if (item.dropup === undefined) {\n item.dropup = built.conf.dropup;\n }\n if (item.fade === undefined) {\n item.fade = built.conf.fade;\n }\n }\n }\n this._expandButton(built.buttons, built.conf.buttons, built.conf.split, !isSplit, isSplit, attachPoint, built.conf);\n }\n built.conf.parent = parentConf;\n\n // init call is made here, rather than buildButton as it needs to\n // be selectable, and for that it needs to be in the buttons array\n if (conf.init) {\n conf.init.call(dt.button(built.node), dt, $(built.node), conf);\n }\n }\n },\n /**\r\n * Create an individual button\r\n *\r\n * @name _buildButton\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} config Resolved button configuration\r\n * @param {boolean} inCollection `true` if a collection button\r\n * @return {object} Completed button description object\r\n *\r\n */\n _buildButton: function _buildButton(config, inCollection, isSplit, inSplit) {\n var configDom = this.c.dom;\n var textNode;\n var dt = this.s.dt;\n var ctx = dt.settings()[0];\n var text = function text(opt) {\n return typeof opt === 'function' ? opt(dt, button, config) : opt;\n };\n\n // Create an object that describes the button which can be in `dom.button`, or\n // `dom.collection.button` or `dom.split.button` or `dom.collection.split.button`!\n // Each should extend from `dom.button`.\n var dom = $.extend(true, {}, configDom.button);\n if (inCollection && isSplit && configDom.collection.split) {\n $.extend(true, dom, configDom.collection.split.action);\n } else if (inSplit || inCollection) {\n $.extend(true, dom, configDom.collection.button);\n } else if (isSplit) {\n $.extend(true, dom, configDom.split.button);\n }\n\n // Spacers don't do much other than insert an element into the DOM\n if (config.spacer) {\n var spacer = $('<' + dom.spacer.tag + '>').addClass('dt-button-spacer ' + config.style + ' ' + dom.spacer.className).html(text(config.text));\n return {\n conf: config,\n node: spacer,\n inserter: spacer,\n buttons: [],\n inCollection: inCollection,\n isSplit: isSplit,\n collection: null,\n textNode: spacer\n };\n }\n\n // Make sure that the button is available based on whatever requirements\n // it has. For example, PDF button require pdfmake\n if (config.available && !config.available(dt, config) && !config.hasOwnProperty('html')) {\n return false;\n }\n var button;\n if (!config.hasOwnProperty('html')) {\n var action = function action(e, dt, button, config) {\n config.action.call(dt.button(button), e, dt, button, config);\n $(dt.table().node()).triggerHandler('buttons-action.dt', [dt.button(button), dt, button, config]);\n };\n var tag = config.tag || dom.tag;\n var clickBlurs = config.clickBlurs === undefined ? true : config.clickBlurs;\n button = $('<' + tag + '>').addClass(dom.className).attr('tabindex', this.s.dt.settings()[0].iTabIndex).attr('aria-controls', this.s.dt.table().node().id).on('click.dtb', function (e) {\n e.preventDefault();\n if (!button.hasClass(dom.disabled) && config.action) {\n action(e, dt, button, config);\n }\n if (clickBlurs) {\n button.trigger('blur');\n }\n }).on('keypress.dtb', function (e) {\n if (e.keyCode === 13) {\n e.preventDefault();\n if (!button.hasClass(dom.disabled) && config.action) {\n action(e, dt, button, config);\n }\n }\n });\n\n // Make `a` tags act like a link\n if (tag.toLowerCase() === 'a') {\n button.attr('href', '#');\n }\n\n // Button tags should have `type=button` so they don't have any default behaviour\n if (tag.toLowerCase() === 'button') {\n button.attr('type', 'button');\n }\n if (dom.liner.tag) {\n var liner = $('<' + dom.liner.tag + '>').html(text(config.text)).addClass(dom.liner.className);\n if (dom.liner.tag.toLowerCase() === 'a') {\n liner.attr('href', '#');\n }\n button.append(liner);\n textNode = liner;\n } else {\n button.html(text(config.text));\n textNode = button;\n }\n if (config.enabled === false) {\n button.addClass(dom.disabled);\n }\n if (config.id) {\n button.attr('id', config.id);\n } else {\n // Se desactiva el acceso desde el contextMenu por no tener un id establecido\n config.insideContextMenu = false;\n // Se asigna un id dinamico en funcion del nombre del table al que pertenece\n config.id = ctx.sTableId + '_button_' + _buttonIdCounter++;\n button.attr('id', config.id);\n }\n if (config.className) {\n button.addClass(config.className);\n }\n if (config.titleAttr) {\n button.attr('title', text(config.titleAttr));\n }\n if (config.attr) {\n button.attr(config.attr);\n }\n if (!config.namespace) {\n config.namespace = '.dt-button-' + _buttonCounter++;\n }\n if (!config.icon) {\n // Comprueba si es alguno de los botones con iconos definidos por defecto\n switch (config.type) {\n case 'add':\n config.icon = 'mdi-plus';\n break;\n case 'edit':\n config.icon = 'mdi-playlist-edit';\n break;\n case 'clone':\n config.icon = 'mdi-content-copy';\n break;\n case 'delete':\n config.icon = 'mdi-trash-can-outline';\n break;\n case 'reports':\n config.icon = 'mdi-file-export';\n break;\n case 'copyButton':\n config.icon = 'mdi-clipboard-text-outline';\n break;\n case 'excelButton':\n config.icon = 'mdi-file-excel';\n break;\n case 'pdfButton':\n config.icon = 'mdi-file-pdf';\n break;\n case 'odsButton':\n config.icon = 'mdi-file';\n break;\n case 'csvButton':\n config.icon = 'mdi-file';\n break;\n default:\n config.icon = 'mdi-settings';\n }\n }\n if (config.config !== undefined && config.config.split) {\n config.split = config.config.split;\n }\n } else {\n button = $(config.html);\n }\n var buttonContainer = this.c.dom.buttonContainer;\n var inserter;\n if (buttonContainer && buttonContainer.tag) {\n inserter = $('<' + buttonContainer.tag + '>').addClass(buttonContainer.className).append(button);\n } else {\n inserter = button;\n }\n this._addKey(config);\n\n // Style integration callback for DOM manipulation\n // Note that this is _not_ documented. It is currently\n // for style integration only\n if (this.c.buttonCreated) {\n inserter = this.c.buttonCreated(config, inserter);\n }\n var splitDiv;\n if (isSplit) {\n var dropdownConf = inCollection ? $.extend(true, this.c.dom.split, this.c.dom.collection.split) : this.c.dom.split;\n var wrapperConf = dropdownConf.wrapper;\n splitDiv = $('<' + wrapperConf.tag + '>').addClass(wrapperConf.className).append(button);\n var dropButtonConfig = $.extend(config, {\n align: dropdownConf.dropdown.align,\n attr: {\n 'aria-haspopup': 'dialog',\n 'aria-expanded': false\n },\n className: dropdownConf.dropdown.className,\n closeButton: false,\n splitAlignClass: dropdownConf.dropdown.splitAlignClass,\n text: dropdownConf.dropdown.text\n });\n this._addKey(dropButtonConfig);\n var splitAction = function splitAction(e, dt, button, config) {\n _dtButtons.split.action.call(dt.button(splitDiv), e, dt, button, config);\n $(dt.table().node()).triggerHandler('buttons-action.dt', [dt.button(button), dt, button, config]);\n button.attr('aria-expanded', true);\n };\n var dropButton = $('').html(dropdownConf.dropdown.dropHtml).on('click.dtb', function (e) {\n e.preventDefault();\n e.stopPropagation();\n if (!dropButton.hasClass(dom.disabled)) {\n splitAction(e, dt, dropButton, dropButtonConfig);\n }\n if (clickBlurs) {\n dropButton.trigger('blur');\n }\n }).on('keypress.dtb', function (e) {\n if (e.keyCode === 13) {\n e.preventDefault();\n if (!dropButton.hasClass(dom.disabled)) {\n splitAction(e, dt, dropButton, dropButtonConfig);\n }\n }\n });\n if (config.split.length === 0) {\n dropButton.addClass('dtb-hide-drop');\n }\n splitDiv.append(dropButton).attr(dropButtonConfig.attr);\n }\n return {\n conf: config,\n node: isSplit ? splitDiv.get(0) : button.get(0),\n inserter: isSplit ? splitDiv : inserter,\n buttons: [],\n inCollection: inCollection,\n isSplit: isSplit,\n inSplit: inSplit,\n collection: null,\n textNode: textNode\n };\n },\n /**\r\n * Get the button object from a node (recursive)\r\n *\r\n * @name _nodeToButton\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} node Button node\r\n * @param {array} [buttons] Button array, uses base if not defined\r\n * @return {object} Button object\r\n *\r\n */\n _nodeToButton: function _nodeToButton(node, buttons) {\n if (!buttons) {\n buttons = this.s.buttons;\n }\n for (var i = 0, ien = buttons.length; i < ien; i++) {\n if (buttons[i].node === node) {\n return buttons[i];\n }\n if (buttons[i].buttons.length) {\n var ret = this._nodeToButton(node, buttons[i].buttons);\n if (ret) {\n return ret;\n }\n }\n }\n },\n /**\r\n * Get container array for a button from a button node (recursive)\r\n *\r\n * @name _nodeToHost\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} node Button node\r\n * @param {array} [buttons] Button array, uses base if not defined\r\n * @return {array} Button's host array\r\n *\r\n */\n _nodeToHost: function _nodeToHost(node, buttons) {\n if (!buttons) {\n buttons = this.s.buttons;\n }\n for (var i = 0, ien = buttons.length; i < ien; i++) {\n if (buttons[i].node === node) {\n return buttons;\n }\n if (buttons[i].buttons.length) {\n var ret = this._nodeToHost(node, buttons[i].buttons);\n if (ret) {\n return ret;\n }\n }\n }\n },\n /**\r\n * Handle a key press - determine if any button's key configured matches\r\n * what was typed and trigger the action if so.\r\n *\r\n * @name _keypress\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {string} character The character pressed\r\n * @param {object} e Key event that triggered this call\r\n *\r\n */\n _keypress: function _keypress(character, e) {\n // Check if this button press already activated on another instance of Buttons\n if (e._buttonsHandled) {\n return;\n }\n var run = function run(conf, node) {\n if (!conf.key) {\n return;\n }\n if (conf.key === character) {\n e._buttonsHandled = true;\n $(node).click();\n } else if ($.isPlainObject(conf.key)) {\n if (conf.key.key !== character) {\n return;\n }\n if (conf.key.shiftKey && !e.shiftKey) {\n return;\n }\n if (conf.key.altKey && !e.altKey) {\n return;\n }\n if (conf.key.ctrlKey && !e.ctrlKey) {\n return;\n }\n if (conf.key.metaKey && !e.metaKey) {\n return;\n }\n\n // Made it this far - it is good\n e._buttonsHandled = true;\n $(node).click();\n }\n };\n var recurse = function recurse(a) {\n for (var i = 0, ien = a.length; i < ien; i++) {\n run(a[i].conf, a[i].node);\n if (a[i].buttons.length) {\n recurse(a[i].buttons);\n }\n }\n };\n recurse(this.s.buttons);\n },\n /**\r\n * Remove a key from the key listener for this instance (to be used when a\r\n * button is removed)\r\n *\r\n * @name _removeKey\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} conf Button configuration\r\n *\r\n */\n _removeKey: function _removeKey(conf) {\n if (conf.key) {\n var character = $.isPlainObject(conf.key) ? conf.key.key : conf.key;\n\n // Remove only one character, as multiple buttons could have the\n // same listening key\n var a = this.s.listenKeys.split('');\n var idx = $.inArray(character, a);\n a.splice(idx, 1);\n this.s.listenKeys = a.join('');\n }\n },\n /**\r\n * Resolve a button configuration\r\n *\r\n * @name _resolveExtends\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {string|function|object} conf Button config to resolve\r\n * @return {object} Button configuration\r\n *\r\n */\n _resolveExtends: function _resolveExtends(conf) {\n var that = this;\n var dt = this.s.dt;\n var i, ien;\n var ctx = dt.context[0];\n var _dtButtonsTable = ctx.ext.buttons;\n _dtButtonsTable.collection = _dtButtons.collection;\n var toConfObject = function toConfObject(base) {\n var loop = 0;\n\n // Loop until we have resolved to a button configuration, or an\n // array of button configurations (which will be iterated\n // separately)\n while (!$.isPlainObject(base) && !Array.isArray(base)) {\n if (base === undefined) {\n return;\n }\n if (typeof base === 'function') {\n base = base.call(that, dt, conf);\n if (!base) {\n return false;\n }\n } else if (typeof base === 'string') {\n if (!_dtButtonsTable[base]) {\n return {\n html: base\n };\n }\n base = _dtButtonsTable[base];\n }\n loop++;\n if (loop > 30) {\n // Protect against misconfiguration killing the browser\n throw 'Buttons: Too many iterations';\n }\n }\n return Array.isArray(base) ? base : $.extend({}, base);\n };\n conf = toConfObject(conf);\n while (conf && conf.extend) {\n // Use `toConfObject` in case the button definition being extended\n // is itself a string or a function\n if (!_dtButtonsTable[conf.extend]) {\n throw 'Cannot extend unknown button type: ' + conf.extend;\n }\n var objArray = toConfObject(_dtButtonsTable[conf.extend]);\n if (Array.isArray(objArray)) {\n return objArray;\n } else if (!objArray) {\n // This is a little brutal as it might be possible to have a\n // valid button without the extend, but if there is no extend\n // then the host button would be acting in an undefined state\n return false;\n }\n\n // Stash the current class name\n var originalClassName = objArray.className;\n if (conf.config !== undefined && objArray.config !== undefined) {\n conf.config = $.extend({}, objArray.config, conf.config);\n }\n conf = $.extend({}, objArray, conf);\n\n // The extend will have overwritten the original class name if the\n // `conf` object also assigned a class, but we want to concatenate\n // them so they are list that is combined from all extended buttons\n if (originalClassName && conf.className !== originalClassName) {\n conf.className = originalClassName + ' ' + conf.className;\n }\n\n // Although we want the `conf` object to overwrite almost all of\n // the properties of the object being extended, the `extend`\n // property should come from the object being extended\n conf.extend = objArray.extend;\n }\n\n // Buttons to be added to a collection -gives the ability to define\n // if buttons should be added to the start or end of a collection\n var postfixButtons = conf.postfixButtons;\n if (postfixButtons) {\n if (!conf.buttons) {\n conf.buttons = [];\n }\n for (i = 0, ien = postfixButtons.length; i < ien; i++) {\n conf.buttons.push(postfixButtons[i]);\n }\n }\n var prefixButtons = conf.prefixButtons;\n if (prefixButtons) {\n if (!conf.buttons) {\n conf.buttons = [];\n }\n for (i = 0, ien = prefixButtons.length; i < ien; i++) {\n conf.buttons.splice(i, 0, prefixButtons[i]);\n }\n }\n return conf;\n },\n /**\r\n * Display (and replace if there is an existing one) a popover attached to a button\r\n * @param {string|node} content Content to show\r\n * @param {DataTable.Api} hostButton DT API instance of the button\r\n * @param {object} inOpts Options (see object below for all options)\r\n */\n _popover: function _popover(content, hostButton, inOpts, e) {\n var dt = hostButton;\n var c = this.c;\n var closed = false;\n var options = $.extend({\n align: 'button-left',\n // button-right, dt-container, split-left, split-right\n autoClose: false,\n background: true,\n backgroundClassName: 'dt-button-background',\n closeButton: true,\n containerClassName: c.dom.collection.container.className,\n contentClassName: c.dom.collection.container.content.className,\n collectionLayout: '',\n collectionTitle: '',\n dropup: false,\n fade: 400,\n popoverTitle: '',\n rightAlignClassName: 'dt-button-right',\n tag: c.dom.collection.container.tag\n }, inOpts);\n var containerSelector = options.tag + '.' + options.containerClassName.replace(/ /g, '.');\n var hostNode = hostButton.node();\n var close = function close() {\n closed = true;\n _fadeOut($(containerSelector), options.fade, function () {\n $(this).detach();\n });\n $(dt.buttons('[aria-haspopup=\"dialog\"][aria-expanded=\"true\"]').nodes()).attr('aria-expanded', 'false');\n $('div.dt-button-background').off('click.dtb-collection');\n Buttons.background(false, options.backgroundClassName, options.fade, hostNode);\n $(window).off('resize.resize.dtb-collection');\n $('body').off('.dtb-collection');\n dt.off('buttons-action.b-internal');\n dt.off('destroy');\n };\n if (content === false) {\n close();\n return;\n }\n var existingExpanded = $(dt.buttons('[aria-haspopup=\"dialog\"][aria-expanded=\"true\"]').nodes());\n if (existingExpanded.length) {\n // Reuse the current position if the button that was triggered is inside an existing collection\n if (hostNode.closest(containerSelector).length) {\n hostNode = existingExpanded.eq(0);\n }\n close();\n }\n\n // Try to be smart about the layout\n var cnt = $('.dt-button', content).length;\n var mod = '';\n if (cnt === 3) {\n mod = 'dtb-b3';\n } else if (cnt === 2) {\n mod = 'dtb-b2';\n } else if (cnt === 1) {\n mod = 'dtb-b1';\n }\n var display = $('<' + options.tag + '>').addClass(options.containerClassName).addClass(options.collectionLayout).addClass(options.splitAlignClass).addClass(mod).css('display', 'none').attr({\n 'aria-modal': true,\n role: 'dialog'\n });\n content = $(content).addClass(options.contentClassName).attr('role', 'menu').appendTo(display);\n hostNode.attr('aria-expanded', 'true');\n if (hostNode.parents('body')[0] !== document.body) {\n hostNode = document.body.lastChild;\n }\n if (options.popoverTitle) {\n display.prepend('
              ' + options.popoverTitle + '
              ');\n } else if (options.collectionTitle) {\n display.prepend('
              ' + options.collectionTitle + '
              ');\n }\n if (options.closeButton) {\n display.prepend('
              ×
              ').addClass('dtb-collection-closeable');\n }\n _fadeIn(display.insertAfter(hostNode), options.fade);\n var tableContainer = $(hostButton.table().container());\n var position = display.css('position');\n if (options.span === 'container' || options.align === 'dt-container') {\n hostNode = hostNode.parent();\n display.css('width', tableContainer.width());\n }\n\n // Align the popover relative to the DataTables container\n // Useful for wide popovers such as SearchPanes\n if (position === 'absolute') {\n // Align relative to the host button\n var offsetParent = $(hostNode[0].offsetParent);\n var buttonPosition = {\n top: hostNode.position().top + parseInt(hostNode.css('marginTop'), 10),\n left: hostNode.position().left + parseInt(hostNode.css('marginLeft'), 10)\n };\n var buttonOffset = hostNode.offset();\n var tableSizes = offsetParent.offset();\n var containerPosition = offsetParent.position();\n var computed = window.getComputedStyle(offsetParent[0]);\n tableSizes.height = offsetParent.outerHeight();\n tableSizes.width = offsetParent.width() + parseFloat(computed.paddingLeft);\n tableSizes.right = tableSizes.left + tableSizes.width;\n tableSizes.bottom = tableSizes.top + tableSizes.height;\n\n // Set the initial position so we can read height / width\n var top = buttonPosition.top + hostNode.outerHeight();\n var left = buttonPosition.left;\n display.css({\n top: top,\n left: left\n });\n\n // Get the popover position\n computed = window.getComputedStyle(display[0]);\n var popoverSizes = display.offset();\n popoverSizes.height = display.outerHeight();\n popoverSizes.width = display.outerWidth();\n popoverSizes.right = popoverSizes.left + popoverSizes.width;\n popoverSizes.bottom = popoverSizes.top + popoverSizes.height;\n popoverSizes.marginTop = parseFloat(computed.marginTop);\n popoverSizes.marginBottom = parseFloat(computed.marginBottom);\n\n // First position per the class requirements - pop up and right align\n if (options.dropup) {\n top = buttonPosition.top - popoverSizes.height - popoverSizes.marginTop - popoverSizes.marginBottom;\n }\n if (options.align === 'button-right' || display.hasClass(options.rightAlignClassName)) {\n left = buttonPosition.left - popoverSizes.width + hostNode.outerWidth();\n }\n\n // Container alignment - make sure it doesn't overflow the table container\n if (options.align === 'dt-container' || options.align === 'container') {\n if (left < buttonPosition.left) {\n left = -buttonPosition.left;\n }\n if (left + popoverSizes.width > tableSizes.width) {\n left = tableSizes.width - popoverSizes.width;\n }\n }\n\n // Window adjustment\n if (containerPosition.left + left + popoverSizes.width > $(window).width()) {\n // Overflowing the document to the right\n left = $(window).width() - popoverSizes.width - containerPosition.left;\n }\n if (buttonOffset.left + left < 0) {\n // Off to the left of the document\n left = -buttonOffset.left;\n }\n if (containerPosition.top + top + popoverSizes.height > $(window).height() + $(window).scrollTop()) {\n // Pop up if otherwise we'd need the user to scroll down\n top = buttonPosition.top - popoverSizes.height - popoverSizes.marginTop - popoverSizes.marginBottom;\n }\n if (containerPosition.top + top < $(window).scrollTop()) {\n // Correction for when the top is beyond the top of the page\n top = buttonPosition.top + hostNode.outerHeight();\n }\n\n // Calculations all done - now set it\n display.css({\n top: top,\n left: left\n });\n } else {\n // Fix position - centre on screen\n var position = function position() {\n var half = $(window).height() / 2;\n var top = display.height() / 2;\n if (top > half) {\n top = half;\n }\n display.css('marginTop', top * -1);\n };\n position();\n $(window).on('resize.dtb-collection', function () {\n position();\n });\n }\n if (options.background) {\n Buttons.background(true, options.backgroundClassName, options.fade, options.backgroundHost || hostNode);\n }\n\n // This is bonkers, but if we don't have a click listener on the\n // background element, iOS Safari will ignore the body click\n // listener below. An empty function here is all that is\n // required to make it work...\n $('div.dt-button-background').on('click.dtb-collection', function () {});\n if (options.autoClose) {\n setTimeout(function () {\n dt.on('buttons-action.b-internal', function (e, btn, dt, node) {\n if (node[0] === hostNode[0]) {\n return;\n }\n close();\n });\n }, 0);\n }\n $(display).trigger('buttons-popover.dt');\n dt.on('destroy', close);\n setTimeout(function () {\n closed = false;\n $('body').on('click.dtb-collection', function (e) {\n if (closed) {\n return;\n }\n\n // andSelf is deprecated in jQ1.8, but we want 1.7 compat\n var back = $.fn.addBack ? 'addBack' : 'andSelf';\n var parent = $(e.target).parent()[0];\n if (!$(e.target).parents()[back]().filter(content).length && !$(parent).hasClass('dt-buttons') || $(e.target).hasClass('dt-button-background')) {\n close();\n }\n }).on('keyup.dtb-collection', function (e) {\n if (e.keyCode === 27) {\n close();\n }\n }).on('keydown.dtb-collection', function (e) {\n // Focus trap for tab key\n var elements = $('a, button', content);\n var active = document.activeElement;\n if (e.keyCode !== 9) {\n // tab\n return;\n }\n if (elements.index(active) === -1) {\n // If current focus is not inside the popover\n elements.first().focus();\n e.preventDefault();\n } else if (e.shiftKey) {\n // Reverse tabbing order when shift key is pressed\n if (active === elements[0]) {\n elements.last().focus();\n e.preventDefault();\n }\n } else {\n if (active === elements.last()[0]) {\n elements.first().focus();\n e.preventDefault();\n }\n }\n });\n }, 0);\n }\n });\n\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * Statics\r\n */\n\n /**\r\n * Show / hide a background layer behind a collection\r\n *\r\n * @name Buttons.background\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {boolean} Flag to indicate if the background should be shown or\r\n * hidden\r\n * @param {string} Class to assign to the background\r\n *\r\n * @static\r\n *\r\n */\n Buttons.background = function (show, className, fade, insertPoint) {\n if (fade === undefined) {\n fade = 400;\n }\n if (show) {\n _fadeIn($('
              ').addClass(className).css('display', 'none').insertAfter(insertPoint), fade);\n } else {\n _fadeOut($('div.' + className), fade, function () {\n $(this).removeClass(className).remove();\n });\n }\n };\n\n /**\r\n * Instance selector - select Buttons instances based on an instance selector\r\n * value from the buttons assigned to a DataTable. This is only useful if\r\n * multiple instances are attached to a DataTable.\r\n *\r\n * @name Buttons.instanceSelector\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {string|int|array} Instance selector - see `instance-selector`\r\n * documentation on the DataTables site\r\n * @param {array} Button instance array that was attached to the DataTables\r\n * settings object\r\n * @return {array} Buttons instances\r\n *\r\n * @static\r\n *\r\n */\n Buttons.instanceSelector = function (group, buttons) {\n if (group === undefined || group === null) {\n return $.map(buttons, function (v) {\n return v.inst;\n });\n }\n var ret = [];\n var names = $.map(buttons, function (v) {\n return v.name;\n });\n\n // Flatten the group selector into an array of single options\n var process = function process(input) {\n if (Array.isArray(input)) {\n for (var i = 0, ien = input.length; i < ien; i++) {\n process(input[i]);\n }\n return;\n }\n if (typeof input === 'string') {\n if (input.indexOf(',') !== -1) {\n // String selector, list of names\n process(input.split(','));\n } else {\n // String selector individual name\n var idx = $.inArray(input.trim(), names);\n if (idx !== -1) {\n ret.push(buttons[idx].inst);\n }\n }\n } else if (typeof input === 'number') {\n // Index selector\n ret.push(buttons[input].inst);\n } else if (_typeof(input) === 'object') {\n // Actual instance selector\n ret.push(input);\n }\n };\n process(group);\n return ret;\n };\n\n /**\r\n * Button selector - select one or more buttons from a selector input so some\r\n * operation can be performed on them.\r\n *\r\n * @name Buttons.buttonSelector\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {array} Button instances array that the selector should operate on\r\n * @param {string|int|node|jQuery|array} Button selector - see\r\n * `button-selector` documentation on the DataTables site\r\n * @return {array} Array of objects containing `inst` and `idx` properties of\r\n * the selected buttons so you know which instance each button belongs to.\r\n *\r\n * @static\r\n *\r\n */\n Buttons.buttonSelector = function (insts, selector) {\n var ret = [];\n var nodeBuilder = function nodeBuilder(a, buttons, baseIdx) {\n var button;\n var idx;\n for (var i = 0, ien = buttons.length; i < ien; i++) {\n button = buttons[i];\n if (button) {\n idx = baseIdx !== undefined ? baseIdx + i : i + '';\n a.push({\n node: button.node,\n name: button.conf.name,\n idx: idx\n });\n if (button.buttons) {\n nodeBuilder(a, button.buttons, idx + '-');\n }\n }\n }\n };\n var run = function run(selector, inst) {\n var i, ien;\n var buttons = [];\n nodeBuilder(buttons, inst.s.buttons);\n var nodes = $.map(buttons, function (v) {\n return v.node;\n });\n if (Array.isArray(selector) || selector instanceof $) {\n for (i = 0, ien = selector.length; i < ien; i++) {\n run(selector[i], inst);\n }\n return;\n }\n if (selector === null || selector === undefined || selector === '*') {\n // Select all\n for (i = 0, ien = buttons.length; i < ien; i++) {\n ret.push({\n inst: inst,\n node: buttons[i].node\n });\n }\n } else if (typeof selector === 'number') {\n // Main button index selector\n if (inst.s.buttons[selector]) {\n ret.push({\n inst: inst,\n node: inst.s.buttons[selector].node\n });\n }\n } else if (typeof selector === 'string') {\n if (selector.indexOf(',') !== -1) {\n // Split\n var a = selector.split(',');\n for (i = 0, ien = a.length; i < ien; i++) {\n run(a[i].trim(), inst);\n }\n } else if (selector.match(/^\\d+(\\-\\d+)*$/)) {\n // Sub-button index selector\n var indexes = $.map(buttons, function (v) {\n return v.idx;\n });\n ret.push({\n inst: inst,\n node: buttons[$.inArray(selector, indexes)].node\n });\n } else if (selector.indexOf(':name') !== -1) {\n // Button name selector\n var name = selector.replace(':name', '');\n for (i = 0, ien = buttons.length; i < ien; i++) {\n if (buttons[i].name === name) {\n ret.push({\n inst: inst,\n node: buttons[i].node\n });\n }\n }\n } else {\n // jQuery selector on the nodes\n $(nodes).filter(selector).each(function () {\n ret.push({\n inst: inst,\n node: this\n });\n });\n }\n } else if (_typeof(selector) === 'object' && selector.nodeName) {\n // Node selector\n var idx = $.inArray(selector, nodes);\n if (idx !== -1) {\n ret.push({\n inst: inst,\n node: nodes[idx]\n });\n }\n }\n };\n for (var i = 0, ien = insts.length; i < ien; i++) {\n var inst = insts[i];\n run(selector, inst);\n }\n return ret;\n };\n\n /**\r\n * Default function used for formatting output data.\r\n * @param {*} str Data to strip\r\n */\n Buttons.stripData = function (str, config) {\n if (typeof str !== 'string') {\n return str;\n }\n\n // Always remove script tags\n str = str.replace(/)<[^<]*)*<\\/script>/gi, '');\n\n // Always remove comments\n str = str.replace(//g, '');\n if (!config || config.stripHtml) {\n str = str.replace(/<[^>]*>/g, '');\n }\n if (!config || config.trim) {\n str = str.replace(/^\\s+|\\s+$/g, '');\n }\n if (!config || config.stripNewlines) {\n str = str.replace(/\\n/g, ' ');\n }\n if (!config || config.decodeEntities) {\n if (_entityDecoder) {\n str = _entityDecoder(str);\n } else {\n _exportTextarea.innerHTML = str;\n str = _exportTextarea.value;\n }\n }\n return str;\n };\n\n /**\r\n * Provide a custom entity decoding function - e.g. a regex one, which can be\r\n * much faster than the built in DOM option, but also larger code size.\r\n * @param {function} fn\r\n */\n Buttons.entityDecoder = function (fn) {\n _entityDecoder = fn;\n };\n\n /**\r\n * Version information\r\n *\r\n * @name Buttons.version\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @type {string}\r\n *\r\n * @static\r\n *\r\n */\n Buttons.version = '2.4.2';\n $.extend(_dtButtons, {\n collection: {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.collection');\n },\n className: 'buttons-collection',\n closeButton: false,\n init: function init(dt, button, config) {\n button.attr('aria-expanded', false);\n },\n action: function action(e, dt, button, config) {\n if (config._collection.parents('body').length) {\n this.popover(false, config);\n } else {\n this.popover(config._collection, config);\n }\n if (config.background) {\n // Si la tabla se encuentra en un dialogo insertamos el background dentro del dialogo\n if ($('div.rup-dialog').has('#' + dt.context[0].sTableId + '_wrapper').length ? true : false) {\n $('div.rup-dialog #' + dt.context[0].sTableId + '_wrapper').append('
              ');\n }\n // Si no usamos el funcionamiento por defecto\n else {\n Buttons.background(true, config.backgroundClassName, config.fade);\n }\n }\n\n // Como el boton se posiciona de manera absoluta hay que establecerle la posicion\n // cada vez que se cambia el tamaño de la pantalla.\n $(window).on('resize.ajustarCollection', function () {\n if (!$('div.dt-button-collection').is(':visible')) {\n $(window).off('resize.ajustarCollection');\n } else {\n hostPosition = {\n top: host.position().top + parseInt(host.css('marginTop'), 10),\n left: host.position().left + parseInt(host.css('marginLeft'), 10)\n };\n config._collection.css({\n top: hostPosition.top + host.outerHeight(),\n left: hostPosition.left\n });\n }\n });\n\n // When activated using a key - auto focus on the\n // first item in the popover\n if (e.type === 'keypress') {\n $('a, button', config._collection).eq(0).focus();\n }\n },\n attr: {\n 'aria-haspopup': 'dialog'\n }\n // Also the popover options, defined in Buttons.popover\n },\n split: {\n text: function text(dt) {\n return dt.i18n('buttons.split', 'Split');\n },\n className: 'buttons-split',\n closeButton: false,\n init: function init(dt, button, config) {\n return button.attr('aria-expanded', false);\n },\n action: function action(e, dt, button, config) {\n this.popover(config._collection, config);\n },\n attr: {\n 'aria-haspopup': 'dialog'\n }\n // Also the popover options, defined in Buttons.popover\n },\n addButton: function addButton(dt, conf) {\n var ctx = dt.context[0];\n var collection = _dtButtons['collection'];\n _dtButtons = ctx.ext.buttons;\n _dtButtons.collection = collection;\n if (_dtButtons.addButton) {\n return 'addButton';\n }\n },\n editButton: function editButton(dt, conf) {\n if (_dtButtons.editButton) {\n return 'editButton';\n }\n },\n cloneButton: function cloneButton(dt, conf) {\n if (_dtButtons.cloneButton) {\n return 'cloneButton';\n }\n },\n deleteButton: function deleteButton(dt, conf) {\n if (_dtButtons.deleteButton) {\n return 'deleteButton';\n }\n },\n reportsButton: function reportsButton(dt, conf) {\n if (_dtButtons.reportsButton) {\n return 'reportsButton';\n }\n },\n pageLength: function pageLength(dt) {\n var lengthMenu = dt.settings()[0].aLengthMenu;\n var vals = [];\n var lang = [];\n var text = function text(dt) {\n return dt.i18n('buttons.pageLength', {\n '-1': 'Show all rows',\n _: 'Show %d rows'\n }, dt.page.len());\n };\n\n // Support for DataTables 1.x 2D array\n if (Array.isArray(lengthMenu[0])) {\n vals = lengthMenu[0];\n lang = lengthMenu[1];\n } else {\n for (var i = 0; i < lengthMenu.length; i++) {\n var option = lengthMenu[i];\n\n // Support for DataTables 2 object in the array\n if ($.isPlainObject(option)) {\n vals.push(option.value);\n lang.push(option.label);\n } else {\n vals.push(option);\n lang.push(option);\n }\n }\n }\n return {\n extend: 'collection',\n text: text,\n className: 'buttons-page-length',\n autoClose: true,\n buttons: $.map(vals, function (val, i) {\n return {\n text: lang[i],\n className: 'button-page-length',\n action: function action(e, dt) {\n dt.page.len(val).draw();\n },\n init: function init(dt, node, conf) {\n var that = this;\n var fn = function fn() {\n that.active(dt.page.len() === val);\n };\n dt.on('length.dt' + conf.namespace, fn);\n fn();\n },\n destroy: function destroy(dt, node, conf) {\n dt.off('length.dt' + conf.namespace);\n }\n };\n }),\n init: function init(dt, node, conf) {\n var that = this;\n dt.on('length.dt' + conf.namespace, function () {\n that.text(conf.text);\n });\n },\n destroy: function destroy(dt, node, conf) {\n dt.off('length.dt' + conf.namespace);\n }\n };\n },\n spacer: {\n style: 'empty',\n spacer: true,\n text: function text(dt) {\n return dt.i18n('buttons.spacer', '');\n }\n }\n });\n\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * DataTables API\r\n *\r\n * For complete documentation, please refer to the docs/api directory or the\r\n * DataTables site\r\n */\n\n // Buttons group and individual button selector\n DataTable.Api.register('buttons()', function (group, selector) {\n // Argument shifting\n if (selector === undefined) {\n selector = group;\n group = undefined;\n }\n this.selector.buttonGroup = group;\n var res = this.iterator(true, 'table', function (ctx) {\n if (ctx._buttons) {\n return Buttons.buttonSelector(Buttons.instanceSelector(group, ctx._buttons), selector);\n }\n }, true);\n res._groupSelector = group;\n return res;\n });\n\n // Individual button selector\n DataTable.Api.register('button()', function (group, selector) {\n // just run buttons() and truncate\n var buttons = this.buttons(group, selector);\n if (buttons.length > 1) {\n buttons.splice(1, buttons.length);\n }\n return buttons;\n });\n\n // Active buttons\n DataTable.Api.registerPlural('buttons().active()', 'button().active()', function (flag) {\n if (flag === undefined) {\n return this.map(function (set) {\n return set.inst.active(set.node);\n });\n }\n return this.each(function (set) {\n set.inst.active(set.node, flag);\n });\n });\n\n // Get / set button action\n DataTable.Api.registerPlural('buttons().action()', 'button().action()', function (action) {\n if (action === undefined) {\n return this.map(function (set) {\n return set.inst.action(set.node);\n });\n }\n return this.each(function (set) {\n set.inst.action(set.node, action);\n });\n });\n\n // Collection control\n DataTable.Api.registerPlural('buttons().collectionRebuild()', 'button().collectionRebuild()', function (buttons) {\n return this.each(function (set) {\n for (var i = 0; i < buttons.length; i++) {\n if (_typeof(buttons[i]) === 'object') {\n buttons[i].parentConf = set;\n }\n }\n set.inst.collectionRebuild(set.node, buttons);\n });\n });\n\n // Enable / disable buttons\n DataTable.Api.register(['buttons().enable()', 'button().enable()'], function (flag, contextMenu) {\n return this.each(function (set) {\n set.inst.enable(set.node, flag, contextMenu);\n });\n });\n\n // Disable buttons\n DataTable.Api.register(['buttons().disable()', 'button().disable()'], function (contextMenu) {\n return this.each(function (set) {\n set.inst.disable(set.node, contextMenu);\n });\n });\n\n // Button index\n DataTable.Api.register('button().index()', function () {\n var idx = null;\n this.each(function (set) {\n var res = set.inst.index(set.node);\n if (res !== null) {\n idx = res;\n }\n });\n return idx;\n });\n\n // Get button nodes\n DataTable.Api.registerPlural('buttons().nodes()', 'button().node()', function () {\n var jq = $();\n\n // jQuery will automatically reduce duplicates to a single entry\n $(this.each(function (set) {\n jq = jq.add(set.inst.node(set.node));\n }));\n return jq;\n });\n\n // Get / set button processing state\n DataTable.Api.registerPlural('buttons().processing()', 'button().processing()', function (flag) {\n if (flag === undefined) {\n return this.map(function (set) {\n return set.inst.processing(set.node);\n });\n }\n return this.each(function (set) {\n set.inst.processing(set.node, flag);\n });\n });\n\n // Get / set button text (i.e. the button labels)\n DataTable.Api.registerPlural('buttons().text()', 'button().text()', function (label) {\n if (label === undefined) {\n return this.map(function (set) {\n return set.inst.text(set.node);\n });\n }\n return this.each(function (set) {\n set.inst.text(set.node, label);\n });\n });\n\n // Trigger a button's action\n DataTable.Api.registerPlural('buttons().trigger()', 'button().trigger()', function () {\n return this.each(function (set) {\n set.inst.node(set.node).trigger('click');\n });\n });\n\n // Button resolver to the popover\n DataTable.Api.register('button().popover()', function (content, options) {\n return this.map(function (set) {\n return set.inst._popover(content, this.button(this[0].node), options);\n });\n });\n\n // Get the container elements\n DataTable.Api.register('buttons().containers()', function () {\n var jq = $();\n var groupSelector = this._groupSelector;\n\n // We need to use the group selector directly, since if there are no buttons\n // the result set will be empty\n this.iterator(true, 'table', function (ctx) {\n if (ctx._buttons) {\n var insts = Buttons.instanceSelector(groupSelector, ctx._buttons);\n for (var i = 0, ien = insts.length; i < ien; i++) {\n jq = jq.add(insts[i].container());\n }\n }\n });\n return jq;\n });\n DataTable.Api.register('buttons().container()', function () {\n // API level of nesting is `buttons()` so we can zip into the containers method\n return this.containers().eq(0);\n });\n\n // Add a new button\n DataTable.Api.register('button().add()', function (idx, conf, draw) {\n var ctx = this.context;\n var api = new DataTable.Api(ctx);\n\n // Don't use `this` as it could be empty - select the instances directly\n if (ctx.length) {\n var inst = Buttons.instanceSelector(this._groupSelector, ctx[0]._buttons);\n if (inst.length) {\n inst[0].add(conf, idx, draw);\n // Nuevo botón al contextMenu\n _updateContextMenu(this[0].inst.s.buttons, api, ctx[0]);\n }\n }\n return this.button(this._groupSelector, idx);\n });\n\n // Destroy the button sets selected\n DataTable.Api.register('buttons().destroy()', function () {\n this.pluck('inst').unique().each(function (inst) {\n inst.destroy();\n });\n return this;\n });\n\n // Remove a button\n DataTable.Api.registerPlural('buttons().remove()', 'buttons().remove()', function () {\n this.each(function (set) {\n set.inst.remove(set.node);\n });\n return this;\n });\n\n // Information box that can be used by buttons\n var _infoTimer;\n DataTable.Api.register('buttons.info()', function (title, message, time) {\n var that = this;\n if (title === false) {\n this.off('destroy.btn-info');\n _fadeOut($('#table_buttons_info'), 400, function () {\n $(this).remove();\n });\n _infoTimer = null;\n return this;\n }\n if (_infoTimer) {\n clearTimeout(_infoTimer);\n }\n if ($('#table_buttons_info').length) {\n $('#table_buttons_info').remove();\n }\n title = title ? '

              ' + title + '

              ' : '';\n _fadeIn($('
              ').html(title).append($('
              ')[typeof message === 'string' ? 'html' : 'append'](message)).css('display', 'none').appendTo('body'));\n if (time !== undefined && time !== 0) {\n _infoTimer = setTimeout(function () {\n that.buttons.info(false);\n }, time);\n }\n return this;\n });\n\n // Get data from the table for export - this is common to a number of plug-in\n // buttons so it is included in the Buttons core library\n DataTable.Api.register('buttons.exportData()', function (options) {\n if (this.context.length) {\n return _exportData(new DataTable.Api(this.context[0]), options);\n }\n });\n\n // Get information about the export that is common to many of the export data\n // types (DRY)\n DataTable.Api.register('buttons.exportInfo()', function (conf) {\n if (!conf) {\n conf = {};\n }\n return {\n filename: _filename(conf),\n title: _title(conf),\n messageTop: _message(this, conf.message || conf.messageTop, 'top'),\n messageBottom: _message(this, conf.messageBottom, 'bottom')\n };\n });\n\n // Gestiona las acciones de los botones\n DataTable.Api.register('buttons.actions()', function (dt, config) {\n var ctx = dt.settings()[0];\n // Añade aquí las funciones de tus botones\n switch (config.type) {\n case 'add':\n ctx.oInit.buttons.myLastAction = 'add';\n if (ctx.oInit.formEdit !== undefined) {\n $.when(DataTable.Api().editForm.loadSaveDialogForm(ctx, 'POST')).then(function () {\n var idTableDetail = ctx.oInit.formEdit.detailForm;\n // Limpiamos el formulario\n if ($(idTableDetail).find('form')[0] !== undefined) {\n $(idTableDetail).find('form')[0].reset();\n jQuery.each($('select.rup_select', $(idTableDetail)), function (index, elem) {\n jQuery(elem).rup_select('refresh');\n });\n if (ctx.multiselection.numSelected > 0) {\n $.rup_messages('msgConfirm', {\n message: $.rup.i18nParse($.rup.i18n.base, 'rup_table.checkSelectedElems'),\n title: $.rup.i18nParse($.rup.i18n.base, 'rup_table.changes'),\n OKFunction: function OKFunction() {\n // Abrimos el formulario\n if (ctx.oInit.seeker !== undefined && ctx.oInit.seeker.activate) {\n DataTable.Api().seeker.limpiarSeeker(dt, ctx); // Y deselecionamos los checks y seekers\n } else {\n if (ctx.oInit.multiSelect !== undefined) {\n DataTable.Api().multiSelect.deselectAll(dt); // Y deselecionamos los checks y seekers\n } else if (ctx.oInit.select !== undefined) {\n DataTable.Api().select.deselect(ctx); // Y deselecionamos los checks y seekers\n }\n }\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAddActionConfirmed', ctx);\n DataTable.Api().editForm.openSaveDialog('POST', dt, null, ctx.oInit.formEdit.customTitle);\n }\n });\n } else {\n DataTable.Api().editForm.openSaveDialog('POST', dt, null, ctx.oInit.formEdit.customTitle);\n }\n } else {\n $.rup_messages('msgError', {\n title: 'Error grave',\n message: '

              Falta definir \"detailForm\" en la inicialización de la tabla.

              '\n });\n }\n });\n } else {\n //edicion en linea\n ctx.oInit.inlineEdit.currentPos = undefined;\n DataTable.Api().inlineEdit.add(dt, ctx);\n }\n break;\n case 'edit':\n // Abrimos el formulario\n ctx.oInit.buttons.myLastAction = 'edit';\n if (ctx.oInit.formEdit !== undefined) {\n // Se busca el idRow con el último seleccionado. En caso de no existir, será el primero.\n $.when(DataTable.Api().editForm.getRowSelected(dt, 'PUT')).then(function (rowInfo) {\n if (ctx.oInit.formEdit.$navigationBar === undefined || ctx.oInit.formEdit.$navigationBar.funcionParams === undefined || ctx.oInit.formEdit.$navigationBar.funcionParams[4] === undefined || dt.page() + 1 === Number(ctx.oInit.formEdit.$navigationBar.funcionParams[4])) {\n DataTable.Api().editForm.openSaveDialog('PUT', dt, rowInfo.line, ctx.oInit.formEdit.customTitle);\n }\n });\n } else {\n //edicion en linea\n ctx.oInit.inlineEdit.currentPos = undefined;\n ctx.oInit.inlineEdit.alta = undefined;\n var idRowInline = DataTable.Api().inlineEdit.getRowSelected(dt, 'PUT').line;\n }\n break;\n case 'clone':\n ctx.oInit.buttons.myLastAction = 'clone';\n // Abrimos el formulario\n if (ctx.oInit.formEdit !== undefined) {\n // Se busca el idRow con el último seleccionado. En caso de no existir, será el primero.\n $.when(DataTable.Api().editForm.getRowSelected(dt, 'CLONE')).then(function (rowInfo) {\n DataTable.Api().editForm.openSaveDialog('CLONE', dt, rowInfo.line, ctx.oInit.formEdit.customTitle);\n });\n } else {\n //edicion en linea\n ctx.oInit.inlineEdit.alta = true;\n ctx.oInit.inlineEdit.currentPos = undefined;\n var idRowInline = DataTable.Api().inlineEdit.getRowSelected(dt, 'CLONE').line;\n }\n break;\n case 'delete':\n var customEliminar = ctx.oInit.validarEliminar;\n if (typeof customEliminar === \"function\" && customEliminar(ctx)) {\n return false;\n }\n ctx.oInit.buttons.myLastAction = 'delete';\n // borramos todos los seleccionados.\n if (!ctx.oInit.noEdit && ctx.oInit.formEdit !== undefined) {\n DataTable.Api().editForm.deleteAllSelects(dt);\n } else if (!ctx.oInit.noEdit && ctx.oInit.inlineEdit !== undefined) {\n //edicion en linea\n DataTable.Api().inlineEdit.deleteAllSelects(dt);\n } else {\n //Delete sin formulario\n _deleteAllSelects(dt);\n }\n break;\n }\n });\n\n // Detecta el numero de filas seleccionadas y en funcion de eso muestra u oculta los botones.\n DataTable.Api.register('buttons.displayRegex()', function (ctx) {\n if (ctx._buttons[0].inst.s.disableAllButtons === undefined) {\n var opts = ctx._buttons[0].inst.s.buttons;\n var collectionObject;\n $.each(opts, function (i) {\n collectionObject = null;\n var numOfSelectedRows = ctx.multiselection.numSelected;\n if (ctx.oInit.masterDetail !== undefined && this.conf.id === ctx.sTableId + 'addButton_1') {\n //si es maestro detalle para el boton add ,solo se renderiza cuando hay selección en el padre.\n var table = $(ctx.oInit.masterDetail.master).DataTable();\n numOfSelectedRows = table.context[0].multiselection.numSelected; //Nums del padre\n this.conf.displayRegex = /^[1-9][0-9]*$/; //se cambia expresion regular\n }\n _manageButtonsAndButtonsContextMenu(opts[i], numOfSelectedRows, collectionObject, ctx);\n // Comprueba si tiene botones hijos\n if (this.buttons.length > 0) {\n collectionObject = this;\n _manageButtonsAndButtonsContextMenu(opts[i], numOfSelectedRows, collectionObject, ctx);\n }\n });\n }\n });\n DataTable.Api.register('buttons.disableAllButtons()', function (ctx, exception) {\n var s = ctx._buttons[0].inst.s;\n $.each(s.buttons, function () {\n if (ctx.oInit.noEdit && exception !== undefined && !exception.includes(this.node.id)) {\n // Deshabilita permanentemente el botón (tanto de la toolbar como del contextMenu).\n this.conf.displayRegex = undefined;\n } else if (exception === undefined || !exception.includes(this.node.id)) {\n // Deshabilita el botón de la toolbar.\n $(this.node).prop('disabled', true);\n // Deshabilita el botón del contextMenu.\n $('#' + this.node.id + '_contextMenuToolbar').addClass('disabledButtonsTable');\n }\n });\n s.disableAllButtons = true;\n });\n DataTable.Api.register('buttons.initButtons()', function (ctx, opts) {\n _initButtons(ctx, opts);\n });\n DataTable.Api.register('buttons.deleteNotForm()', function (dt) {\n _deleteAllSelects(dt);\n });\n\n /**\r\n * Get the file name for an exported file.\r\n *\r\n * @name _filename\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object}\tconfig Button configuration\r\n * @param {boolean} incExtension Include the file name extension\r\n *\r\n */\n var _filename = function _filename(config) {\n // Backwards compatibility\n var filename = config.filename === '*' && config.title !== '*' && config.title !== undefined && config.title !== null && config.title !== '' ? config.title : config.filename;\n if (typeof filename === 'function') {\n filename = filename();\n }\n if (filename === undefined || filename === null) {\n return null;\n }\n if (filename.indexOf('*') !== -1) {\n filename = filename.replace('*', $('head > title').text()).trim();\n }\n\n // Strip characters which the OS will object to\n filename = filename.replace(/[^a-zA-Z0-9_\\u00A1-\\uFFFF\\.,\\-_ !\\(\\)]/g, '');\n var extension = _stringOrFunction(config.extension);\n if (!extension) {\n extension = '';\n }\n return filename + extension;\n };\n\n /**\r\n * Simply utility method to allow parameters to be given as a function\r\n *\r\n * @name _stringOrFunction\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {undefined|string|function} option Option\r\n *\r\n * @return {null|string} Resolved value\r\n *\r\n */\n var _stringOrFunction = function _stringOrFunction(option) {\n if (option === null || option === undefined) {\n return null;\n } else if (typeof option === 'function') {\n return option();\n }\n return option;\n };\n\n /**\r\n * Get the title for an exported file.\r\n *\r\n * @name _title\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} config\tButton configuration\r\n *\r\n */\n var _title = function _title(config) {\n var title = _stringOrFunction(config.title);\n return title === null ? null : title.indexOf('*') !== -1 ? title.replace('*', $('head > title').text() || 'Exported data') : title;\n };\n var _message = function _message(dt, option, position) {\n var message = _stringOrFunction(option);\n if (message === null) {\n return null;\n }\n var caption = $('caption', dt.table().container()).eq(0);\n if (message === '*') {\n var side = caption.css('caption-side');\n if (side !== position) {\n return null;\n }\n return caption.length ? caption.text() : '';\n }\n return message;\n };\n var _exportTextarea = $('')[0];\n var _exportData = function _exportData(dt, inOpts) {\n var config = $.extend(true, {}, {\n rows: null,\n columns: '',\n modifier: {\n search: 'applied',\n order: 'applied'\n },\n orthogonal: 'display',\n stripHtml: true,\n stripNewlines: true,\n decodeEntities: true,\n trim: true,\n format: {\n header: function header(d) {\n return Buttons.stripData(d, config);\n },\n footer: function footer(d) {\n return Buttons.stripData(d, config);\n },\n body: function body(d) {\n return Buttons.stripData(d, config);\n }\n },\n customizeData: null\n }, inOpts);\n var header = dt.columns(config.columns).indexes().map(function (idx) {\n var el = dt.column(idx).header();\n return config.format.header(el.innerHTML, idx, el);\n }).toArray();\n var footer = dt.table().footer() ? dt.columns(config.columns).indexes().map(function (idx) {\n var el = dt.column(idx).footer();\n return config.format.footer(el ? el.innerHTML : '', idx, el);\n }).toArray() : null;\n\n // If Select is available on this table, and any rows are selected, limit the export\n // to the selected rows. If no rows are selected, all rows will be exported. Specify\n // a `selected` modifier to control directly.\n var modifier = $.extend({}, config.modifier);\n if (dt.select && typeof dt.select.info === 'function' && modifier.selected === undefined) {\n if (dt.rows(config.rows, $.extend({\n selected: true\n }, modifier)).any()) {\n $.extend(modifier, {\n selected: true\n });\n }\n }\n var rowIndexes = dt.rows(config.rows, modifier).indexes().toArray();\n var selectedCells = dt.cells(rowIndexes, config.columns);\n var cells = selectedCells.render(config.orthogonal).toArray();\n var cellNodes = selectedCells.nodes().toArray();\n var columns = header.length;\n var rows = columns > 0 ? cells.length / columns : 0;\n var body = [];\n var cellCounter = 0;\n for (var i = 0, ien = rows; i < ien; i++) {\n var row = [columns];\n for (var j = 0; j < columns; j++) {\n row[j] = config.format.body(cells[cellCounter], i, j, cellNodes[cellCounter]);\n cellCounter++;\n }\n body[i] = row;\n }\n var data = {\n header: header,\n footer: footer,\n body: body\n };\n if (config.customizeData) {\n config.customizeData(data);\n }\n return data;\n };\n\n /**\r\n * Activa la coleccion\r\n *\r\n * @name _enableCollection\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {string} id\tId of the button\r\n *\r\n */\n var _enableCollection = function _enableCollection(id) {\n $('#' + id).prop('disabled', false);\n };\n\n /**\r\n * Desactiva la coleccion\r\n *\r\n * @name _disableCollection\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {string} id\tId of the button\r\n *\r\n */\n var _disableCollection = function _disableCollection(id) {\n $('#' + id).prop('disabled', true);\n };\n\n /**\r\n * Activa el boton y su opcion dentro del context menu\r\n *\r\n * @name _enableButtonAndContextMenuOption\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {string} id\tId of the button\r\n *\r\n */\n var _enableButtonAndContextMenuOption = function _enableButtonAndContextMenuOption(id) {\n $('#' + id).prop('disabled', false);\n $('#' + id + '_contextMenuToolbar').removeClass('disabledButtonsTable');\n };\n\n /**\r\n * Desactiva el boton y su opcion dentro del context menu\r\n *\r\n * @name _disableButtonAndContextMenuOption\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {string} id\tId of the button\r\n *\r\n */\n var _disableButtonAndContextMenuOption = function _disableButtonAndContextMenuOption(id) {\n $('#' + id).prop('disabled', true);\n $('#' + id + '_contextMenuToolbar').addClass('disabledButtonsTable');\n };\n\n /**\r\n * Gestiona la propiedad de activado/desactivado de los botones y de sus opciones\r\n * dentro del context menu.\r\n *\r\n * @name _manageButtonsAndButtonsContextMenu\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} opts\tButtons properties\r\n * @param {int} numOfSelectedRows\tNumber of selected rows\r\n * @param {null|object} collectionObject\tCollection button properties\r\n *\r\n */\n var _manageButtonsAndButtonsContextMenu = function _manageButtonsAndButtonsContextMenu(opts, numOfSelectedRows, collectionObject, ctx) {\n if (opts.conf.custom === undefined || !opts.conf.custom) {\n // Si pertenece a un collection o es un collection\n if (opts.collection !== null && collectionObject) {\n var collectionId = collectionObject.conf.id;\n var collectionDisplayRegex = collectionObject.conf.displayRegex;\n var alreadyExecuted = false;\n // Recorre todos los botones dentro del collection\n $.each(collectionObject.buttons, function (key, value) {\n // Activa/desactiva en funcion de la propiedad 'displayRegex' del padre y los hijos\n if (collectionDisplayRegex !== undefined && value.conf.displayRegex !== undefined) {\n if (collectionDisplayRegex.test(numOfSelectedRows) && value.conf.displayRegex.test(numOfSelectedRows)) {\n _enableButtonAndContextMenuOption(value.conf.id);\n } else {\n _disableButtonAndContextMenuOption(value.conf.id);\n }\n }\n // Activa/desactiva en funcion de la propiedad 'displayRegex' de sus hijos\n else if (collectionDisplayRegex === undefined && value.conf.displayRegex !== undefined) {\n // Habilita la coleccion si cumple el regex (solo se ejecuta una vez como\n // maximo gracias al booleano 'alreadyExecuted')\n if (value.conf.displayRegex.test(numOfSelectedRows) && !alreadyExecuted) {\n _enableCollection(collectionId);\n alreadyExecuted = true;\n }\n // Habilita el boton si cumple el displayRegex\n if (value.conf.displayRegex.test(numOfSelectedRows)) {\n _enableButtonAndContextMenuOption(value.conf.id);\n }\n // Como este boton no cumple el 'displayRegex' para ser habilitado, se deshabilitan\n // tanto el boton como su opcion en el contextMenu\n else {\n _disableButtonAndContextMenuOption(value.conf.id);\n }\n // En caso de que ningun regex cumpliese, se fuerza la deshabilitacion\n if (!alreadyExecuted) {\n _disableCollection(collectionId);\n }\n }\n // Desactiva todo si ni el collection ni los hijos tienen la propiedad 'displayRegex'\n // o simplemente si los hijos no tienen la propiedad\n else {\n _disableButtonAndContextMenuOption(value.conf.id);\n if (!alreadyExecuted) {\n _disableCollection(collectionId);\n alreadyExecuted = true;\n }\n }\n });\n // Genera un evento encargado de ocultar los botones dentro del collection.\n // Se comprueba mediante una clase si ya tiene o no el evento, mejorando asi\n // el rendimiento\n $('#' + collectionId + ':not(.listening)').addClass('listening').on('click', function (e) {\n // Se establece el valor de 'numOfSelectedRows' porque sino siempre tendria\n // el valor recibido cuando se creo el evento\n var numOfSelectedRows = ctx.multiselection.numSelected;\n $.each(collectionObject.buttons, function (key, value) {\n // Habilita el boton dentro del collection\n if (value.conf.displayRegex.test(numOfSelectedRows)) {\n _enableButtonAndContextMenuOption(value.conf.id);\n }\n // Deshabilita el boton dentro del collection\n else {\n _disableButtonAndContextMenuOption(value.conf.id);\n }\n });\n });\n }\n // Si el boton no tiene un regex definido, permanecera siempre desactivado\n else if (opts.conf.displayRegex === undefined) {\n // Deshabilita el boton y su opcion dentro del context menu\n _disableButtonAndContextMenuOption(opts.conf.id);\n }\n // Si tiene un regex definido, lo activa y desactiva en funcion de este\n else if (opts.conf.displayRegex !== undefined) {\n // Si el regex recibido de cada boton cumple la sentencia al probarlo contra\n // el numero de filas seleccionadas, se mostrara, en caso contrario, permanecera\n // oculto\n if (opts.conf.displayRegex.test(numOfSelectedRows)) {\n // Habilita el boton y su opcion dentro del context menu\n _enableButtonAndContextMenuOption(opts.conf.id);\n } else {\n // Deshabilita el boton y su opcion dentro del context menu\n _disableButtonAndContextMenuOption(opts.conf.id);\n }\n }\n }\n };\n\n /**\r\n * Establece el tipo de llamada necesario para obtener los datos según lo seleccionado\r\n * e inicia la gestión para finalmente obtenerlos\r\n *\r\n * @name _reports\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} dt Instancia del table\r\n * @param {object} that Objeto del boton\r\n * @param {object} config Configuracion del boton\r\n *\r\n */\n var _reports = function _reports(dt, that, config) {\n var ctx = dt.settings()[0];\n var info = dt.buttons.exportInfo(config);\n var type;\n var multiselection = ctx.multiselection;\n var selectedAll = multiselection.selectedAll;\n var deselectedIds = multiselection.deselectedIds;\n if (selectedAll) {\n if (deselectedIds.length > 0) {\n // Este caso es para cuando se selecciona todo y despues se\n // deseleccionan algunos registros\n type = 'all-deselected';\n } else {\n // Este caso es para cuando se seleccionan todos los registros\n type = 'all';\n }\n } else if (multiselection.selectedIds.length > 0) {\n // Este caso para cuando hay determinados registros seleccionados manualmente\n type = 'selected';\n } else {\n // Este caso para cuando no hay registros seleccionados\n type = 'all';\n selectedAll = true;\n }\n $.when(_reportsTypeOfCopy(dt, type, config.request, multiselection, selectedAll, deselectedIds)).then(function (exportData, ajaxOptions) {\n // Si exportData cumple la siguiente condicion significa que los datos se van a copiar al portapapeles\n if (exportData !== undefined) {\n var exportDataRows = exportData.length;\n var exportDataParsed = JSON.stringify(exportData);\n var hiddenDiv = $('
              ').css({\n height: 1,\n width: 1,\n overflow: 'hidden',\n position: 'fixed',\n top: 0,\n left: 0\n });\n if (typeof ajaxOptions.data == 'string') {\n ajaxOptions.data = JSON.parse(ajaxOptions.data);\n }\n exportDataParsed = _convertToTabulador(ajaxOptions.reportsExportAllColumns, ajaxOptions.data.columns, exportDataParsed, true);\n var textarea = $('').val(exportDataParsed).appendTo(hiddenDiv);\n _reportsOpenMessage(dt, ctx, that, exportDataRows, hiddenDiv, textarea);\n } else {\n // Descargara un fichero\n _reportsRequestFile(ctx, ajaxOptions);\n }\n });\n };\n\n /**\r\n * Se encarga de mapear los datos de json a datos separados por el tabulador.\r\n *\r\n * @name ConvertToTabulador\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {boolean} reportsExportAllColumns true en caso de querer mostrar todas las columnas (incluidas las ocultas)\r\n * @param {object} columns Objeto que contiene las columnas a mostrar\r\n * @param {object} objArray Objeto que contiene los datos a exportar\r\n * @param {boolean} true en caso de querer que se mueste la cabecera\r\n *\r\n * @return {object}\r\n *\r\n */\n var _convertToTabulador = function _convertToTabulador(reportsExportAllColumns, columns, objArray, showLabel) {\n var array = _typeof(objArray) !== 'object' ? JSON.parse(objArray) : objArray;\n var separator = \";\";\n var str = '';\n var checkColumns = false;\n\n // Separador de campos dependiendo del idioma\n if ($.rup.lang === 'en') {\n separator = \",\";\n }\n if (!reportsExportAllColumns && columns != undefined) {\n checkColumns = true;\n }\n if (showLabel) {\n // Comprueba si solo se quieren mostrar las columnas definidas/visibles o todas\n if (checkColumns) {\n str = '\\\"' + columns.toString().replace(/,/g, '\\\"' + separator + '\\\"') + '\\\"\\r\\n';\n } else {\n var row = '';\n // Se asignan los nombres de las columnas\n $.each(array[0], function (key, value) {\n // Comprobar si es un objeto, en caso afirmativo lo recorremos y lo concatenamos\n if ($.isPlainObject(value)) {\n var objectName = key;\n $.each(this, function (key, value) {\n var keyToCamelKeys = key.substring(0, 1).toLocaleUpperCase() + key.substring(1);\n row += '\\\"' + objectName + keyToCamelKeys + '\\\"' + separator;\n });\n } else {\n row += '\\\"' + key + '\\\"' + separator;\n }\n });\n row = row.slice(0, -1);\n str += row + '\\r\\n';\n }\n }\n\n // Se asignan los valores\n $.each(array, function () {\n var line = '';\n $.each(this, function (key, value) {\n // Comprueba si solo se quieren mostrar los valores de las columnas definidas/visibles y evita la insercion de las no que no lo estan\n if (checkColumns && columns.indexOf(key) == -1) {\n return;\n }\n // Comprobar si es un objeto, en caso afirmativo lo recorremos y lo concatenamos\n if ($.isPlainObject(value)) {\n $.each(this, function (key, value) {\n line += '\\\"' + value + '\\\"' + separator;\n });\n } else {\n line += '\\\"' + value + '\\\"' + separator;\n }\n });\n line = line.slice(0, -1);\n str += line + '\\r\\n';\n });\n return str;\n };\n\n /**\r\n * Según el tipo de función de copia solicitada, realiza unas u otras comprobaciones\r\n * antes de solicitar los datos al servidor\r\n *\r\n * @name _reportsTypeOfCopy\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} dt Instancia del table\r\n * @param {string} type Tipo de funcion de copia a ejecutar\r\n * @param {object} request Contiene todos los parametros de la petición AJAX\r\n * @param {object} multiselection Propiedades de la multiseleccion\r\n * @param {boolean} selectedAll Cuando es true significa que todas las filas estan marcadas\r\n * @param {array} [deselectedIds] ID's de las filas deseleccionadas\r\n *\r\n * @return {object}\r\n *\r\n */\n var _reportsTypeOfCopy = function _reportsTypeOfCopy(dt, type, request, multiselection, selectedAll, deselectedIds) {\n var ctx = dt.settings()[0];\n var deferred = $.Deferred();\n var exportData;\n var selectedIds = multiselection.selectedIds;\n var selectedRows = multiselection.selectedRowsPerPage;\n var ajaxOptions = {};\n if (type === 'selected') {\n var _exportData2 = [];\n if (request.dataType === 'json') {\n var localAccess = true;\n\n // Comprueba si todos los valores seleccionados estan en la misma pagina\n $.each(selectedRows, function (key, value) {\n if (ctx.json.page != value.page) {\n localAccess = false;\n return false;\n }\n });\n if (localAccess) {\n // Puede acceder a los valores seleccionados localmente\n $.each(selectedRows, function (key, value) {\n var idPadre = value.id;\n $.each(ctx.json.rows, function (key, value) {\n if (DataTable.Api().rupTable.getIdPk(value) === idPadre) {\n _exportData2.push(value);\n }\n });\n });\n ajaxOptions.data = {};\n ajaxOptions.data.columns = _loadDefinedColums(dt, ctx, request);\n if (ctx.oInit.buttons.report !== undefined) {\n ajaxOptions.data.columnsName = ctx.oInit.buttons.report.columnsName;\n }\n ajaxOptions.reportsExportAllColumns = request.reportsExportAllColumns;\n deferred.resolve(_exportData2, ajaxOptions);\n return deferred.promise();\n }\n }\n }\n if (request.dataType === 'json') {\n // Accede a los datos mediante el servidor ya que se ha hecho uso de la paginacion\n // Parametros necesarios para configurar la llamada AJAX\n ajaxOptions = _reportsPrepareRequestData(dt, ajaxOptions, request, ctx, selectedAll, deselectedIds, selectedIds);\n $.when(_reportsRequestData(ajaxOptions, ctx)).then(function (data) {\n exportData = data;\n deferred.resolve(exportData, ajaxOptions);\n });\n } else {\n // Parametros necesarios para configurar la llamada AJAX\n ajaxOptions = _reportsPrepareRequestData(dt, ajaxOptions, request, ctx, selectedAll, deselectedIds, selectedIds);\n deferred.resolve(undefined, ajaxOptions);\n }\n return deferred.promise();\n };\n\n /**\r\n * Se encarga de generar las opciones de configuración con las que se llamara a la API\r\n *\r\n * @name _reportsPrepareRequestData\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} dt Instancia del table\r\n * @param {object} ajaxOptions Parametros de la llamada AJAX\r\n * @param {object} request Contiene todos los parametros de la petición ajax\r\n * @param {object} ctx Contexto\r\n * @param {boolean} selectedAll Cuando es true significa que todas las filas estan marcadas\r\n * @param {array} [deselectedIds] ID's de las filas deseleccionadas\r\n * @param {array} [selectedIds] ID's de las filas seleccionadas\r\n *\r\n * @return {object}\r\n *\r\n */\n var _reportsPrepareRequestData = function _reportsPrepareRequestData(dt, ajaxOptions, request, ctx, selectedAll, deselectedIds, selectedIds) {\n var data = {};\n data.columns = _loadDefinedColums(dt, ctx, request);\n if (ctx.oInit.buttons.report !== undefined) {\n data.columnsName = ctx.oInit.buttons.report.columnsName;\n }\n data.core = {\n 'pkToken': ctx.oInit.multiplePkToken,\n 'pkNames': ctx.oInit.primaryKey\n };\n\n // Solo se enviara el filtro si contiene algun valor. \n // Esto facilita la labor de exportacion al servidor ya que no tiene que iterar el filtro para comprobar si todos los campos son nulos.\n if (ctx.oInit.filter.$filterContainer != undefined && !jQuery.isEmptyObject(window.form2object(ctx.oInit.filter.$filterContainer[0]))) {\n data.filter = window.form2object(ctx.oInit.filter.$filterContainer[0]);\n }\n data.multiselection = {};\n data.multiselection.selectedAll = selectedAll;\n if (data.multiselection.selectedAll) {\n data.multiselection.selectedIds = deselectedIds;\n } else {\n data.multiselection.selectedIds = selectedIds;\n }\n\n // Añadimos los parámetros para la ordenación de resultados.\n $.each(ctx.oInit.order, function (iteration, value) {\n var pos = ctx.oInit.order[iteration][0];\n if (iteration == 0) {\n data.sord = ctx.oInit.order[iteration][1];\n } else {\n data.sord += ctx.oInit.order[iteration][1];\n }\n if (ctx.oInit.aoColumns[pos].sidx == null) {\n if (iteration == 0) {\n data.sidx = ctx.oInit.aoColumns[pos].data;\n } else {\n data.sidx += ctx.oInit.aoColumns[pos].data;\n }\n } else {\n if (iteration == 0) {\n data.sidx = ctx.oInit.aoColumns[pos].sidx;\n } else {\n data.sidx += ctx.oInit.aoColumns[pos].sidx;\n }\n }\n if (iteration < ctx.oInit.order.length - 1) {\n data.sord += \",\";\n data.sidx += \",\";\n }\n });\n\n //cambio\n data.reportsParams = [];\n // Se añaden los parametros definidos por el usuario (solo en caso de haber definido alguno)\n if (ctx.oInit.buttons.report !== undefined && ctx.oInit.buttons.report.reportsParams !== undefined && ctx.oInit.buttons.report.reportsParams.length > 0) {\n data.reportsParams = ctx.oInit.buttons.report.reportsParams;\n }\n\n // Completa el objeto 'ajaxOptions' con los parametros necesarios para la llamada que se realizara al servidor\n ajaxOptions.contentType = request.contentType;\n ajaxOptions.dataType = request.dataType;\n if (request.url !== undefined) {\n ajaxOptions.url = ctx.oInit.urlBase + request.url;\n } else {\n ajaxOptions.url = ctx.oInit.urlBase;\n }\n ajaxOptions.reportsExportAllColumns = request.reportsExportAllColumns;\n ajaxOptions.type = request.method;\n if (request.fileName !== undefined) {\n data.fileName = request.fileName;\n }\n if (request.sheetTitle !== undefined) {\n data.sheetTitle = request.sheetTitle;\n }\n ajaxOptions.data = $.toJSON(data);\n return ajaxOptions;\n };\n\n /**\r\n * Se encarga de devolver las columnas\r\n *\r\n * @name _loadDefinedColums\r\n * @function\r\n * @since UDA 4.2.0\r\n *\r\n * @param {object} dt Instancia del table\r\n * @param {object} ctx Contexto\r\n * @param {object} request Contiene todos los parametros de la petición AJAX\r\n *\r\n * @return {object}\r\n *\r\n */\n var _loadDefinedColums = function _loadDefinedColums(dt, ctx, request) {\n var columns = [];\n if (request.reportsExportAllColumns == undefined) {\n request.reportsExportAllColumns = ctx.ext.buttons.reportsButton.reportsExportAllColumns;\n }\n if (!request.reportsExportAllColumns) {\n // Se obtienen las columnas a mostrar definidas por el usuario\n if (ctx.oInit.buttons.report !== undefined && ctx.oInit.buttons.report.columns !== undefined) {\n columns = ctx.oInit.buttons.report.columns;\n } else {\n // En caso contrario se obtienen las columnas de la tabla\n $.each(ctx.oInit.columns, function (position, name) {\n // Se comprueba que el name.data no este vacio para evitar añadir\n // la columna del checkbox de multiseleccion. Tambien se comprueba\n // que la columna sea visible\n if (name.data !== \"\" && dt.column(position).visible()) {\n columns.push(name.data);\n }\n });\n }\n }\n return columns;\n };\n\n /**\r\n * Se encarga de llamar a la API y de devolver los datos recibidos\r\n *\r\n * @name _reportsRequestData\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} ajaxOptions Parametros de la llamada AJAX\r\n * @param {object} ctx Contexto\r\n *\r\n * @return {object}\r\n *\r\n */\n var _reportsRequestData = function _reportsRequestData(ajaxOptions, ctx) {\n var deferred = $.Deferred();\n $.ajax(ajaxOptions).done(function (data) {\n deferred.resolve(data);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsSuccessReportsRequestData');\n }).complete(function () {\n $('#' + ctx.sTableId).triggerHandler('tableButtonsCompleteReportsRequestData');\n }).error(function () {\n $('#' + ctx.sTableId).triggerHandler('tableButtonsErrorReportsRequestData');\n });\n return deferred.promise();\n };\n\n /**\r\n * Se encarga de llamar a la API y de devolver el fichero recibido\r\n *\r\n * @name _reportsRequestFile\r\n * @function\r\n * @since UDA 4.2.0\r\n *\r\n * @param {object} ctx Contexto\r\n * @param {object} ajaxOptions Parametros de la llamada AJAX\r\n *\r\n * @return {object}\r\n *\r\n */\n var _reportsRequestFile = function _reportsRequestFile(ctx, ajaxOptions) {\n // Dialogo de espera\n var $reportFileWait = $('#' + ctx.sTableId + 'reportFileWait');\n $reportFileWait.rup_dialog({\n type: $.rup.dialog.TEXT,\n autoOpen: false,\n modal: true,\n resizable: false\n });\n\n // Titulo\n var title = $.rup.i18nParse($.rup.i18n.base, 'rup_report.waitTitle');\n var message = $.rup.i18nParse($.rup.i18n.base, 'rup_report.waitMsg');\n if (ctx.oInit.buttons.report !== undefined) {\n if (ctx.oInit.buttons.report.title !== undefined) {\n title = ctx.oInit.buttons.report.title;\n }\n if (ctx.oInit.buttons.report.message !== undefined) {\n message = ctx.oInit.buttons.report.message;\n }\n }\n $reportFileWait.rup_dialog('setOption', 'title', title);\n\n // Contenido\n var content = $reportFileWait.html().split($reportFileWait.text()),\n html = '';\n for (var i = 0; i < content.length; i++) {\n if (content[i] === '') {\n html += message;\n } else {\n html += content[i];\n }\n }\n $reportFileWait.html(html);\n $reportFileWait.rup_dialog('open');\n var url = ajaxOptions.url;\n\n // Lanzar peticion \n var request = new XMLHttpRequest();\n request.open(ajaxOptions.type, url, true);\n request.responseType = 'blob';\n request.send(ajaxOptions.data);\n request.onload = function (event) {\n if (this.status == 200) {\n var blob = request.response;\n var fileName = null;\n var contentType = request.getResponseHeader('content-type');\n var element;\n\n // Parece que IE y EDGE no devuelven la misma cabecera en la respuesta\n if (request.getResponseHeader('content-disposition')) {\n var contentDisposition = request.getResponseHeader('content-disposition');\n fileName = contentDisposition.substring(contentDisposition.indexOf('=') + 1);\n } else {\n fileName = 'report.' + contentType.substring(contentType.indexOf('/') + 1);\n }\n if (window.navigator.msSaveOrOpenBlob) {\n // IE y EDGE\n window.navigator.msSaveOrOpenBlob(blob, fileName);\n } else {\n // Para los demas navegadores\n if (!$('a#rupTableButtonsReportsExport').length) {\n $('#' + ctx.sTableId + 'rup_report_dialogsContainer').append(\"rupTableButtonsReportsExport\");\n }\n element = $('a#rupTableButtonsReportsExport')[0];\n element.href = window.URL.createObjectURL(blob);\n element.download = fileName;\n element.click();\n // Eliminamos el ObjectURL y el elemento de DOM generado ya que han sido generados de manera temporal\n window.URL.revokeObjectURL(element.href);\n element.remove();\n }\n if ($('#' + $reportFileWait.attr('id')).length > 0) {\n $reportFileWait.rup_dialog('close');\n }\n } else {\n if ($('#' + $reportFileWait.attr('id')).length > 0) {\n $reportFileWait.rup_dialog('close');\n console.info('----------- ERROR -----------');\n }\n }\n };\n request.send();\n return false;\n };\n\n /**\r\n * Gestiona la apertura/cierre del mensaje de confirmación de copia\r\n *\r\n * @name _reportsOpenMessage\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} dt Instancia del table\r\n * @param {object} ctx Contexto\r\n * @param {object} that Objeto del boton\r\n * @param {int} exportDataRows Numero de filas a ser exportadas\r\n * @param {object} hiddenDiv Elemento del DOM\r\n * @param {object} textarea Elemento del DOM\r\n *\r\n */\n var _reportsOpenMessage = function _reportsOpenMessage(dt, ctx, that, exportDataRows, hiddenDiv, textarea) {\n $.rup_messages('msgConfirm', {\n title: dt.i18n('rup_table.copyButton.changes', 'Copia de registros en clipboard'),\n message: dt.i18n('rup_table.copyButton.saveAndContinue', {\n _: '¿Desea copiar %d registros?',\n 1: '¿Desea copiar un registro?'\n }, exportDataRows),\n open: function open() {\n $('#' + dt.context[0].sTableId).trigger('rupTable_confirmMsgOpen');\n },\n OKFunction: function OKFunction() {\n if (ctx.oInit.formEdit !== undefined) {\n ctx.oInit.formEdit.okCallBack = true;\n }\n _reportsToClipboard(dt, that, exportDataRows, hiddenDiv, textarea);\n if (ctx.oInit.formEdit !== undefined && !ctx.oInit.formEdit.detailForm.hasClass('d-none')) {\n //si esta oculto, no hace falta\n ctx.oInit.formEdit.detailForm.rup_dialog('close');\n }\n },\n beforeClose: function beforeClose() {\n if (ctx.oInit.formEdit !== undefined) {\n ctx.oInit.formEdit.okCallBack = false;\n }\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (that.processing !== undefined) {\n that.processing(false);\n }\n }\n });\n };\n\n /**\r\n * Copia los datos recibidos al portapapeles\r\n *\r\n * @name _reportsToClipboard\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} dt Instancia del table\r\n * @param {object} that Objeto del boton\r\n * @param {int} exportDataRows Numero de filas a ser exportadas\r\n * @param {object} hiddenDiv Elemento del DOM\r\n * @param {object} textarea Elemento del DOM\r\n *\r\n */\n var _reportsToClipboard = function _reportsToClipboard(dt, that, exportDataRows, hiddenDiv, textarea) {\n // Para los navegadores que soportan el comando de copia 'execCommand'\n if (document.queryCommandSupported('copy')) {\n hiddenDiv.appendTo(dt.table().container());\n textarea[0].focus();\n textarea[0].select();\n try {\n var successful = document.execCommand('copy');\n hiddenDiv.remove();\n if (successful) {\n dt.buttons.info(dt.i18n('rup_table.copyButton.changes', 'Copia de registros en portapapeles'), dt.i18n('rup_table.copyButton.saved', {\n _: 'Copiados %d registros al portapapeles',\n 1: 'Copiado un registro al portapapeles'\n }, exportDataRows), 2000);\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (that.processing !== undefined) {\n that.processing(false);\n }\n $('#' + dt.context[0].sTableId).trigger('rupTable_copied');\n return;\n }\n } catch (t) {}\n }\n\n // Si no soportan la copia mediante 'execCommand', se mostrara un text box\n // con las instrucciones de como copiar los elementos seleccionados\n var message = $('' + dt.i18n('rup_table.copyButton.copyKeys', 'Presiona ctrl o ⌘ + C para copiar los datos de la tabla al portapapeles.' + 'Para cancelar, haz click sobre este mensaje o pulsa el botón escape.') + '').append(hiddenDiv);\n dt.buttons.info(dt.i18n('rup_table.copyButton.copyTitle', 'Copiar al portapapeles'), message, 0);\n\n // Selecciona el texto para cuando el usuario accione la copia al portapapeles\n // se le pegue ese texto\n textarea[0].focus();\n textarea[0].select();\n\n // Evento que oculta el mensaje cuando el usuario ha terminado con la copia\n var container = $(message).closest('.dt-button-info');\n var close = function close() {\n container.off('click.buttons-copy');\n $(document).off('.buttons-copy');\n dt.buttons.info(false);\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (that.processing !== undefined) {\n that.processing(false);\n }\n };\n container.on('click.buttons-copy', close);\n $(document).on('keydown.buttons-copy', function (e) {\n if (e.keyCode === 27) {\n // esc\n close();\n }\n }).on('copy.buttons-copy cut.buttons-copy', function () {\n close();\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (that.processing !== undefined) {\n that.processing(false);\n }\n });\n };\n var _initContextMenu = function _initContextMenu(ctx, api) {\n // Creacion del Context Menu\n if (ctx.oInit.buttons !== undefined && ctx.oInit.contextMenuActivo == true) {\n var botonesToolbar = ctx._buttons[0].inst.s.buttons;\n _updateContextMenu(botonesToolbar, api, ctx);\n }\n };\n\n /**\r\n * Metodo que elimina todos los registros seleccionados.\r\n *\r\n * @name _deleteAllSelects\r\n * @function\r\n * @since UDA 4.2.0\r\n *\r\n * @param {object} dt - Es el objeto table.\r\n *\r\n */\n var _deleteAllSelects = function _deleteAllSelects(dt) {\n var ctx = dt.settings()[0];\n var idRow = 0;\n var regex = new RegExp(ctx.oInit.multiplePkToken, 'g');\n $.rup_messages('msgConfirm', {\n message: $.rup.i18nParse($.rup.i18n.base, 'rup_table.deleteAll'),\n title: $.rup.i18nParse($.rup.i18n.base, 'rup_table.delete'),\n OKFunction: function OKFunction() {\n var row = {};\n row.filter = window.form2object(ctx.oInit.filter.$filterContainer[0]);\n if (ctx.multiselection.selectedIds.length > 1) {\n row.core = {\n 'pkToken': ctx.oInit.multiplePkToken,\n 'pkNames': ctx.oInit.primaryKey\n };\n row.multiselection = {};\n row.multiselection.selectedAll = ctx.multiselection.selectedAll;\n if (row.multiselection.selectedAll) {\n row.multiselection.selectedIds = ctx.multiselection.deselectedIds;\n } else {\n row.multiselection.selectedIds = ctx.multiselection.selectedIds;\n }\n _callDelete('POST', dt, ctx, row, '/deleteAll');\n } else {\n row = ctx.multiselection.selectedIds[0];\n row = row.replace(regex, '/');\n _callDelete('DELETE', dt, ctx, idRow, '/' + row);\n }\n }\n });\n };\n var _callDelete = function _callDelete(actionType, dt, ctx, row, url) {\n $('#' + ctx.sTableId).triggerHandler('tableBeforeCallDelete');\n var _callFeedbackDelete = function _callFeedbackDelete(ctx, msgFeedBack, type) {\n $('#' + ctx.sTableId).triggerHandler('tableFeedbackShowDelete');\n ctx.oInit.feedback.$feedbackContainer.rup_feedback('set', msgFeedBack, type);\n ctx.oInit.feedback.$feedbackContainer.rup_feedback('show');\n };\n if (ctx.oInit.masterDetail !== undefined) {\n //Asegurar que se recoge el idPadre\n var masterPkObject = DataTable.Api().masterDetail.getMasterTablePkObject(ctx);\n jQuery.extend(true, masterPkObject, row);\n row = masterPkObject;\n }\n var msgFeedBack = $.rup.i18nParse($.rup.i18n.base, 'rup_table.deletedOK');\n var ajaxOptions = {\n url: ctx.oInit.urlBase + url,\n accepts: {\n '*': '*/*',\n 'html': 'text/html',\n 'json': 'application/json, text/javascript',\n 'script': 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript',\n 'text': 'text/plain',\n 'xml': 'application/xml, text/xml'\n },\n type: actionType,\n data: row,\n dataType: 'json',\n showLoading: false,\n contentType: 'application/json',\n async: true,\n success: function success() {\n // Eliminar\n if (ctx.oInit.multiSelect !== undefined) {\n DataTable.Api().multiSelect.deselectAll(dt);\n } else if (ctx.oInit.select !== undefined) {\n DataTable.Api().select.deselect(ctx);\n }\n $('#' + ctx.sTableId).triggerHandler('tablefterDelete');\n ctx._buttons[0].inst.s.disableAllButtons = undefined;\n DataTable.Api().seeker.disabledButtons(ctx);\n\n // Recargar datos\n // Primer parametro para mandar una funcion a ejecutar, segundo parametro bloquear la pagina si pones false\n dt.ajax.reload(function () {\n _callFeedbackDelete(ctx, msgFeedBack, 'ok');\n }, false);\n $('#' + ctx.sTableId).triggerHandler('tableSuccessCallDelete');\n },\n complete: function complete() {\n $('#' + ctx.sTableId).triggerHandler('tableCompleteCallDelete');\n },\n error: function error(xhr) {\n _callFeedbackDelete(ctx, xhr.responseText, 'error');\n $('#' + ctx.sTableId).triggerHandler('tableErrorCallDelete');\n },\n feedback: function feedback() {\n _callFeedbackDelete(ctx, msgFeedBack, 'ok');\n }\n };\n ajaxOptions.data = JSON.stringify(ajaxOptions.data);\n $.rup_ajax(ajaxOptions);\n };\n var _updateContextMenu = function _updateContextMenu(botones, api, ctx) {\n var items = {};\n var tableId = ctx.sTableId;\n $.each(botones, function () {\n // Entra si tiene marcada la opcion para habilitarlo dentro del contextMenu\n if (this.conf.insideContextMenu) {\n // Poblamos el objeto 'items' con los botones habilitados\n items[this.conf.id] = {\n id: this.conf.id + '_contextMenuToolbar',\n name: this.conf.text(api),\n icon: this.conf.icon,\n inCollection: this.inCollection,\n idCollection: undefined\n };\n }\n // Comprueba si tiene botones hijos\n if (this.buttons.length > 0) {\n var idCollection = this.conf.id;\n $.each(this.buttons, function (i) {\n // Entra si tiene marcada la opcion para habilitarlo dentro del contextMenu\n if (this.conf.insideContextMenu) {\n // Poblamos el objeto 'items' con los botones habilitados\n items[this.conf.id] = {\n id: this.conf.id + '_contextMenuToolbar',\n name: this.conf.text(api),\n icon: this.conf.icon,\n inCollection: this.inCollection,\n idCollection: idCollection\n };\n }\n });\n }\n });\n var tableTrSelector = '#' + tableId + ' > tbody > tr';\n var tableTr = $(tableTrSelector);\n tableTr.selector = tableTrSelector;\n if (!jQuery.isEmptyObject(items)) {\n tableTr.rup_contextMenu('destroy');\n tableTr.rup_contextMenu({\n selector: tableTrSelector,\n callback: function callback(key, options) {\n var selector = items[key];\n // Recogemos el id de la accion pulsada en el context menu\n var contextMenuActionId = selector.id;\n // Le quitamos la extension '_contextMenuToolbar' para tener asi\n // el id del boton que queremos accionar\n var buttonId = contextMenuActionId.replace('_contextMenuToolbar', '');\n // Variable que nos dira si esta dentro de una coleccion\n var inCollection = selector.inCollection;\n // Variable que almacena el id de la coleccion (si no pertenece a una\n // siempre sera 'undefined')\n var idCollection = selector.idCollection;\n // Comprobamos si existe el elemento con este id\n if (inCollection && idCollection !== undefined) {\n // Obtenemos la info necesaria del boton y la guardamos en variables\n var buttonName;\n var dt = $('#' + ctx.sTableId).DataTable();\n var eventConfig;\n $.each(ctx.ext.buttons, function (key) {\n var buttonObject = ctx.ext.buttons[key];\n if (buttonObject.id === buttonId) {\n buttonName = key;\n eventConfig = buttonObject;\n }\n });\n // Llamamos directamente al action para no hacer aparecer y desaparecer\n // el boton, empeorando la UX\n ctx.ext.buttons[buttonName].action(undefined, dt, undefined, eventConfig);\n } else {\n $('#' + buttonId).trigger('click');\n }\n },\n items: items\n });\n }\n };\n\n /**\r\n * Inicializa los botones\r\n *\r\n * @name _initButtons\r\n * @function\r\n * @since UDA 3.7.0\r\n *\r\n * @param {object} ctx - Settings object to operate on\r\n * @param {List} opts Lista de botones\r\n *\r\n */\n var _initButtons = function _initButtons(ctx, opts) {\n $.each(opts, function (i) {\n // Activa/desactiva los botones en el inicio en funcion de la propiedad\n // 'displayRegex' que tengan asociada\n var collectionObject = null;\n var numOfSelectedRows = ctx.multiselection.numSelected;\n if (ctx.oInit.masterDetail !== undefined && this.conf.id === ctx.sTableId + 'addButton_1') {\n //si es maestro detalle para el boton add ,solo se renderiza cuando hay selección en el padre.\n var table = $(ctx.oInit.masterDetail.master).DataTable();\n numOfSelectedRows = table.context[0].multiselection.numSelected; //Nums del padre\n this.conf.displayRegex = /^[1-9][0-9]*$/; //se cambia expresion regular\n }\n _manageButtonsAndButtonsContextMenu(opts[i], numOfSelectedRows, collectionObject, ctx);\n // Comprueba si tiene botones hijos\n if (this.buttons.length > 0) {\n collectionObject = this;\n _manageButtonsAndButtonsContextMenu(opts[i], numOfSelectedRows, collectionObject, ctx);\n }\n // Comprueba si tiene un icono asociado\n if (this.conf.icon !== undefined) {\n // Establece el icono de los botones\n if ($(this.node).find('i').length === 0) {\n $('#' + this.conf.id).prepend('');\n }\n\n // Comprueba si tiene botones hijos\n if (this.buttons.length > 0 && $('#' + this.conf.id).length > 0) {\n // Añadimos un evento para cuando se pulse sobre el boton padre, se le\n // asignen los iconos a los hijos\n $('#' + this.conf.id)[0].addEventListener('click', function eventHandler() {\n var that = this;\n $.each(opts[i].buttons, function (i) {\n var selectorCollection = $('#' + this.conf.id);\n\n // Establece el icono de los botones hijos\n if ($(this.node).find('i').length === 0) {\n selectorCollection.prepend('');\n }\n that.removeEventListener('click', eventHandler);\n });\n }, false);\n }\n }\n });\n\n //Añadir dialogo por defecto\n var $defaultDialog_wait = $('
              ').attr('id', ctx.sTableId + 'reportFileWait').attr('title', 'Tittle Prueba').text('prueba').addClass('rup_report').hide()\n //progressbar\n .append($('
              ').addClass('ui-progressbar ui-progressbar-value ui-corner-left ui-corner-right')),\n $defaultDialog_error = $('
              ').attr('id', ctx.sTableId + 'reportFileError').attr('title', 'Error').text('error').addClass('rup_report').hide(),\n $defaultDialog = $('
              ').attr('id', ctx.sTableId + 'rup_report_dialogsContainer').append($defaultDialog_wait).append($defaultDialog_error);\n $('#' + ctx.sTableId).after($defaultDialog);\n };\n\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * DataTables interface\r\n */\n\n // Attach to DataTables objects for global access\n $.fn.dataTable.Buttons = Buttons;\n $.fn.DataTable.Buttons = Buttons;\n function inicio(ctx) {\n var api = new DataTable.Api(ctx);\n var defaultButtons = api.init().buttons || DataTable.defaults.buttons;\n var numOfSelectedRows = ctx.multiselection.numSelected;\n var collectionObject;\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeToolbarInit');\n if ($('#' + ctx.sTableId + '_filter_form').length > 0) {\n new Buttons(api, defaultButtons).container().insertBefore($('#' + ctx.sTableId + '_filter_form'));\n } else {\n new Buttons(api, defaultButtons).container().insertBefore($('#' + ctx.sTableId + '_wrapper'));\n }\n var opts = ctx._buttons[0].inst.s.buttons;\n DataTable.Api().buttons.initButtons(ctx, opts);\n _initContextMenu(ctx, api);\n\n // Detecta cuando se selecciona o se deselecciona una fila en el table\n $('#' + ctx.sTableId).DataTable().on('select deselect contextmenu', function (event) {\n DataTable.Api().buttons.displayRegex(ctx);\n });\n\n // Si la edición está deshabilitada, se deshabilitan todos los botones menos el de informes.\n if (ctx.oInit.noEdit || ctx.oInit.formEdit === undefined && ctx.oInit.inlineEdit === undefined) {\n var exceptions;\n\n // Si existen botones personalizados, se excluyen.\n if (ctx.ext.buttons.custom.length > 0) {\n exceptions = ctx.ext.buttons.custom;\n exceptions.push(ctx.sTableId + 'informes_01');\n } else {\n exceptions = ctx.sTableId + 'informes_01';\n }\n DataTable.Api().buttons.disableAllButtons(ctx, exceptions);\n ctx._buttons[0].inst.s.disableAllButtons = undefined;\n DataTable.Api().buttons.displayRegex(ctx);\n }\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterToolbarInit');\n }\n\n // DataTables creation - check if the buttons have been defined for this table,\n // they will have been if the `B` option was used in `dom`, otherwise we should\n // create the buttons instance here so they can be inserted into the document\n // using the API. Listen for `init` for compatibility with pre 1.10.10, but to\n // be removed in future.\n $(document).on('plugin-init.dt', function (e, ctx) {\n if (e.namespace !== 'dt') {\n return;\n }\n if (ctx.oInit.buttons !== undefined && ctx.oInit.buttons.activate !== false) {\n inicio(ctx);\n }\n });\n function _init(settings, options) {\n var api = new DataTable.Api(settings);\n var opts = options ? options : api.init().buttons || DataTable.defaults.buttons;\n return new Buttons(api, opts).container();\n }\n\n // DataTables `dom` feature option\n DataTable.ext.feature.push({\n fnInit: _init,\n cFeature: 'B'\n });\n\n // DataTables 2 layout feature\n if (DataTable.ext.features) {\n DataTable.ext.features.register('buttons', _init);\n }\n return Buttons;\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack://rup/./src/rup_table/rup.table.buttons.js?"); +eval("/* WEBPACK VAR INJECTION */(function(jQuery) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n/*! Buttons 2.4.2\r\n * © SpryMedia Ltd - datatables.net/license\r\n */\n\n/**\r\n * @summary Buttons\r\n * @description Buttons for DataTables\r\n * @module \"rup.table.buttons\"\r\n * @version 2.4.2\r\n * @author SpryMedia Ltd (www.sprymedia.co.uk)\r\n * @contact datatables.net\r\n * @copyright SpryMedia Ltd.\r\n *\r\n * This source file is free software, available under the following license:\r\n * MIT license - http://datatables.net/license/mit\r\n *\r\n * This source file is distributed in the hope that it will be useful, but\r\n * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r\n * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.\r\n *\r\n * For details please refer to: http://www.datatables.net\r\n */\n\n(function (factory) {\n if (true) {\n // AMD\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"), __webpack_require__(/*! datatables.net */ \"./node_modules/datatables.net/js/jquery.dataTables.mjs\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function ($) {\n return factory($, window, document);\n }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(function ($, window, document, undefined) {\n 'use strict';\n\n var DataTable = $.fn.dataTable;\n\n // Used for namespacing events added to the document by each instance, so they\n // can be removed on destroy\n var _instCounter = 0;\n\n // Button namespacing counter for namespacing events on individual buttons\n var _buttonCounter = 0;\n\n // Default ID naming counter\n var _buttonIdCounter = 1;\n var _dtButtons = DataTable.ext.buttons;\n\n // Custom entity decoder for data export\n var _entityDecoder = null;\n\n // Allow for jQuery slim\n function _fadeIn(el, duration, fn) {\n if ($.fn.animate) {\n el.stop().fadeIn(duration, fn);\n } else {\n el.css('display', 'block');\n if (fn) {\n fn.call(el);\n }\n }\n }\n function _fadeOut(el, duration, fn) {\n if ($.fn.animate) {\n el.stop().fadeOut(duration, fn);\n } else {\n el.css('display', 'none');\n if (fn) {\n fn.call(el);\n }\n }\n }\n\n /**\r\n * Botones\r\n *\r\n * @name Buttons\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} dt\r\n * @param {object} config\r\n *\r\n */\n var _Buttons = function Buttons(dt, config) {\n var _ctx$oInit$buttons$co, _ctx$oInit$buttons$ex, _ctx$oInit$buttons$pd, _ctx$oInit$buttons$od, _ctx$oInit$buttons$cs, _ctx$oInit$buttons$ad, _ctx$oInit$buttons$ed, _ctx$oInit$buttons$cl, _ctx$oInit$buttons$de, _ctx$oInit$buttons$in;\n var idTable = dt.context[0].sTableId;\n var ctx = dt.context[0];\n ctx.ext = DataTable.ext;\n ctx.ext.buttons = {};\n ctx.ext.buttons.defaults = {\n buttons: ['addButton', 'editButton', 'cloneButton', 'deleteButton', 'reportsButton'],\n name: 'main',\n tabIndex: 0,\n dom: {\n container: {\n tag: 'div',\n className: 'dt-buttons row'\n },\n collection: {\n action: {\n // action button\n dropHtml: ''\n },\n container: {\n // The element used for the dropdown\n className: 'dt-button-collection',\n content: {\n className: '',\n tag: 'div'\n },\n tag: 'div'\n }\n // optionally\n // , button: IButton - buttons inside the collection container\n // , split: ISplit - splits inside the collection container\n },\n button: {\n tag: 'button',\n className: 'dt-button col-12 col-sm-auto btn-material',\n active: 'dt-button-active',\n // class name\n disabled: 'disabled',\n // class name\n spacer: {\n className: 'dt-button-spacer',\n tag: 'span'\n },\n liner: {\n tag: 'span',\n className: ''\n }\n },\n split: {\n action: {\n // action button\n className: 'dt-button-split-drop-button dt-button',\n tag: 'button'\n },\n dropdown: {\n // button to trigger the dropdown\n align: 'split-right',\n className: 'dt-button-split-drop',\n dropHtml: '',\n splitAlignClass: 'dt-button-split-left',\n tag: 'button'\n },\n wrapper: {\n // wrap around both\n className: 'dt-button-split',\n tag: 'div'\n }\n }\n }\n };\n ctx.ext.buttons.copyButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.reports.copyButton');\n },\n id: idTable + 'copyButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-low-emphasis buttons-copyButton',\n displayRegex: (_ctx$oInit$buttons$co = ctx.oInit.buttons.copy) !== null && _ctx$oInit$buttons$co !== void 0 && _ctx$oInit$buttons$co.displayRegex ? ctx.oInit.buttons.copy.displayRegex : /^\\d+$/,\n // Se muestra siempre que sea un numero positivo o neutro\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'copyButton',\n request: {\n url: '/clipboardReport',\n method: 'POST',\n contentType: 'application/json',\n dataType: 'json',\n reportsExportAllColumns: false\n },\n init: function init(dt, node, config) {\n ctx.ext.buttons.copyButton.eventDT = dt;\n },\n action: function action(e, dt, button, config) {\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (this.processing !== undefined) {\n this.processing(true);\n }\n var that = this;\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeCopyClick', [dt, button, config]);\n _reports(dt, that, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterCopyClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.excelButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.reports.excelButton');\n },\n id: idTable + 'excelButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-low-emphasis buttons-copyButton',\n displayRegex: (_ctx$oInit$buttons$ex = ctx.oInit.buttons.excel) !== null && _ctx$oInit$buttons$ex !== void 0 && _ctx$oInit$buttons$ex.displayRegex ? ctx.oInit.buttons.excel.displayRegex : /^\\d+$/,\n // Se muestra siempre que sea un numero positivo o neutro\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'excelButton',\n request: {\n url: '/xlsxReport',\n method: 'POST',\n contentType: 'application/json',\n dataType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n reportsExportAllColumns: false,\n fileName: 'reportExcel',\n sheetTitle: 'Usuario'\n },\n action: function action(e, dt, button, config) {\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (this.processing !== undefined) {\n this.processing(true);\n }\n var that = this;\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeExcelClick', [dt, button, config]);\n _reports(dt, that, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterExcelClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.pdfButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.reports.pdfButton');\n },\n id: idTable + 'pdfButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-low-emphasis buttons-copyButton',\n displayRegex: (_ctx$oInit$buttons$pd = ctx.oInit.buttons.pdf) !== null && _ctx$oInit$buttons$pd !== void 0 && _ctx$oInit$buttons$pd.displayRegex ? ctx.oInit.buttons.pdf.displayRegex : /^\\d+$/,\n // Se muestra siempre que sea un numero positivo o neutro\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'pdfButton',\n request: {\n url: '/pdfReport',\n method: 'POST',\n contentType: 'application/json',\n dataType: 'application/pdf',\n reportsExportAllColumns: false,\n fileName: 'reportPDF'\n },\n action: function action(e, dt, button, config) {\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (this.processing !== undefined) {\n this.processing(true);\n }\n var that = this;\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforePdfClick', [dt, button, config]);\n _reports(dt, that, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterPdfClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.odsButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.reports.odsButton');\n },\n id: idTable + 'odsButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-low-emphasis buttons-copyButton',\n displayRegex: (_ctx$oInit$buttons$od = ctx.oInit.buttons.ods) !== null && _ctx$oInit$buttons$od !== void 0 && _ctx$oInit$buttons$od.displayRegex ? ctx.oInit.buttons.ods.displayRegex : /^\\d+$/,\n // Se muestra siempre que sea un numero positivo o neutro\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'odsButton',\n request: {\n url: '/odsReport',\n method: 'POST',\n contentType: 'application/json',\n dataType: 'application/vnd.oasis.opendocument.spreadsheet',\n reportsExportAllColumns: false,\n fileName: 'reportODS',\n sheetTitle: 'Usuario'\n },\n action: function action(e, dt, button, config) {\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (this.processing !== undefined) {\n this.processing(true);\n }\n var that = this;\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeOdsClick', [dt, button, config]);\n _reports(dt, that, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterOdsClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.csvButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.reports.csvButton');\n },\n id: idTable + 'csvButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-low-emphasis buttons-copyButton',\n displayRegex: (_ctx$oInit$buttons$cs = ctx.oInit.buttons.csv) !== null && _ctx$oInit$buttons$cs !== void 0 && _ctx$oInit$buttons$cs.displayRegex ? ctx.oInit.buttons.csv.displayRegex : /^\\d+$/,\n // Se muestra siempre que sea un numero positivo o neutro\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'csvButton',\n request: {\n url: '/csvReport',\n method: 'POST',\n contentType: 'application/json',\n dataType: 'text/csv',\n reportsExportAllColumns: false,\n fileName: 'reportCSV',\n sheetTitle: 'Usuario'\n },\n action: function action(e, dt, button, config) {\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (this.processing !== undefined) {\n this.processing(true);\n }\n var that = this;\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeCsvClick', [dt, button, config]);\n _reports(dt, that, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterCsvClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.addButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.add');\n },\n id: idTable + 'addButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-high-emphasis table_toolbar_btnAdd order-1',\n displayRegex: (_ctx$oInit$buttons$ad = ctx.oInit.buttons.add) !== null && _ctx$oInit$buttons$ad !== void 0 && _ctx$oInit$buttons$ad.displayRegex ? ctx.oInit.buttons.add.displayRegex : /^\\d+$/,\n // Se muestra siempre que sea un numero positivo o neutro\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'add',\n init: function init(dt, button, config) {\n ctx.ext.buttons.addButton.eventDT = dt;\n },\n action: function action(e, dt, button, config) {\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeAddClick', [dt, button, config]);\n DataTable.Api().buttons.actions(dt, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterAddClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.editButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.edit');\n },\n id: idTable + 'editButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-high-emphasis table_toolbar_btnEdit order-2',\n displayRegex: (_ctx$oInit$buttons$ed = ctx.oInit.buttons.edit) !== null && _ctx$oInit$buttons$ed !== void 0 && _ctx$oInit$buttons$ed.displayRegex ? ctx.oInit.buttons.edit.displayRegex : /^[1-9][0-9]*$/,\n // Se muestra siempre que sea un numero mayor a 0\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'edit',\n init: function init(dt, button, config) {\n ctx.ext.buttons.editButton.eventDT = dt;\n },\n action: function action(e, dt, button, config) {\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeEditClick', [dt, button, config]);\n DataTable.Api().buttons.actions(dt, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterEditClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.cloneButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.clone');\n },\n id: idTable + 'cloneButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-high-emphasis table_toolbar_btnClone order-3',\n displayRegex: (_ctx$oInit$buttons$cl = ctx.oInit.buttons.clone) !== null && _ctx$oInit$buttons$cl !== void 0 && _ctx$oInit$buttons$cl.displayRegex ? ctx.oInit.buttons.clone.displayRegex : /^1$/,\n // Se muestra solo cuando sea igual a 1\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'clone',\n init: function init(dt, button, config) {\n ctx.ext.buttons.cloneButton.eventDT = dt;\n },\n action: function action(e, dt, button, config) {\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeCloneClick', [dt, button, config]);\n DataTable.Api().buttons.actions(dt, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterCloneClick', [dt, button, config]);\n }\n };\n ctx.ext.buttons.deleteButton = {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.delete');\n },\n id: idTable + 'deleteButton_1',\n // Campo obligatorio si se quiere usar desde el contextMenu\n className: 'btn-material-primary-high-emphasis table_toolbar_btnDelete order-4',\n displayRegex: (_ctx$oInit$buttons$de = ctx.oInit.buttons[\"delete\"]) !== null && _ctx$oInit$buttons$de !== void 0 && _ctx$oInit$buttons$de.displayRegex ? ctx.oInit.buttons[\"delete\"].displayRegex : /^[1-9][0-9]*$/,\n // Se muestra siempre que sea un numero mayor a 0\n insideContextMenu: ctx.oInit.buttons.contextMenu,\n // Independientemente de este valor, sera 'false' si no tiene un id definido\n type: 'delete',\n init: function init(dt, button, config) {\n ctx.ext.buttons.deleteButton.eventDT = dt;\n },\n action: function action(e, dt, button, config) {\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeDeleteClick', [dt, button, config]);\n DataTable.Api().buttons.actions(dt, config);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterDeleteClick', [dt, button, config]);\n }\n };\n var listadoExports = ['copyButton', 'excelButton', 'pdfButton', 'odsButton', 'csvButton'];\n ctx.ext.buttons.reportsButton = {\n extend: 'collection',\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.toolbar.reports.main');\n },\n id: idTable + 'informes_01',\n className: 'btn-material-primary-medium-emphasis order-last ml-1 ml-lg-auto',\n displayRegex: (_ctx$oInit$buttons$in = ctx.oInit.buttons.informe) !== null && _ctx$oInit$buttons$in !== void 0 && _ctx$oInit$buttons$in.displayRegex ? ctx.oInit.buttons.informe.displayRegex : /^\\d+$/,\n // Se muestra siempre que sea un numero positivo o neutro\n autoClose: true,\n type: 'reports',\n reportsExportAllColumns: false,\n buttons: listadoExports\n };\n\n // Almacena los identificadores de los botones personalizados.\n ctx.ext.buttons.custom = [];\n\n // Ajusta el tamaño de los botones por defecto en caso de que haya sido especificado en las preferencias\n if (ctx.oInit.buttons.size !== undefined) {\n $.each(ctx.ext.buttons, function (name, item) {\n if (item.className !== undefined) {\n if (ctx.oInit.buttons.size === 'lg') {\n item.className += \" btn-material-lg\";\n } else if (ctx.oInit.buttons.size === 'sm') {\n item.className += \" btn-material-sm\";\n }\n }\n });\n }\n if (ctx.oInit.buttons.blackListButtons !== undefined) {\n if (ctx.oInit.buttons.blackListButtons === 'all') {\n //si no se quiere ninguno se elimina\n listadoExports = [];\n ctx.ext.buttons.defaults.buttons = [];\n } else if (ctx.oInit.buttons.blackListButtons && ctx.oInit.buttons.blackListButtons.length > 0) {\n $.each(ctx.oInit.buttons.blackListButtons, function () {\n var name = this;\n var pos = $.inArray(name, listadoExports);\n if (pos >= 0) {\n listadoExports.splice(pos, 1);\n }\n //Resto de botones\n var posBoton = $.inArray(name, ctx.ext.buttons.defaults.buttons);\n if (posBoton >= 0) {\n ctx.ext.buttons.defaults.buttons.splice(posBoton, 1);\n }\n });\n }\n }\n\n // Añadir los botones de la edición en línea.\n if (!ctx.oInit.noEdit && ctx.oInit.inlineEdit !== undefined) {\n $.extend(ctx.ext.buttons, ctx.oInit.inlineEdit.myButtons);\n for (var nameButton in ctx.oInit.inlineEdit.myButtons) {\n ctx.ext.buttons.defaults.buttons.push(nameButton);\n }\n }\n // Añadir los botones personalizados.\n if (ctx.oInit.buttons.myButtons !== undefined) {\n $.extend(ctx.ext.buttons, ctx.oInit.buttons.myButtons);\n for (var _nameButton in ctx.oInit.buttons.myButtons) {\n ctx.ext.buttons.defaults.buttons.push(_nameButton);\n ctx.ext.buttons.custom.push(ctx.oInit.buttons.myButtons[_nameButton].id);\n }\n }\n\n // If not created with a `new` keyword then we return a wrapper function that\n // will take the settings object for a DT. This allows easy use of new instances\n // with the `layout` option - e.g. `topLeft: $.fn.dataTable.Buttons( ... )`.\n if (!(this instanceof _Buttons)) {\n return function (settings) {\n return new _Buttons(settings, dt).container();\n };\n }\n\n // If there is no config set it to an empty object\n if (typeof config === 'undefined') {\n config = {};\n }\n\n // Allow a boolean true for defaults\n if (config === true) {\n config = {};\n }\n\n // For easy configuration of buttons an array can be given\n if (Array.isArray(config)) {\n config = {\n buttons: config\n };\n }\n this.c = $.extend(true, {}, ctx.ext.buttons.defaults, config);\n\n // Don't want a deep copy for the buttons\n if (config.buttons) {\n this.c.buttons = config.buttons;\n }\n this.s = {\n dt: new DataTable.Api(dt),\n buttons: [],\n listenKeys: '',\n namespace: 'dtb' + _instCounter++\n };\n this.dom = {\n container: $('<' + this.c.dom.container.tag + '>').addClass(this.c.dom.container.className).attr('id', ctx.sTableId + '_containerToolbar')\n };\n this._constructor();\n };\n $.extend(_Buttons.prototype, {\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * Public methods\r\n */\n\n /**\r\n * Set the action of a button\r\n *\r\n * @name action\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} node Button element\r\n * @param {function} action Function to set\r\n * @return {Buttons} Self for chaining\r\n *\r\n */\n action: function action(node, _action) {\n var button = this._nodeToButton(node);\n if (_action === undefined) {\n return button.conf.action;\n }\n button.conf.action = _action;\n return this;\n },\n /**\r\n * Add an active class to the button to make to look active or get current\r\n * active state.\r\n *\r\n * @name active\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} node Button element\r\n * @param {boolean} [flag] Enable / disable flag\r\n * @return {Buttons} Self for chaining or boolean for getter\r\n *\r\n */\n active: function active(node, flag) {\n var button = this._nodeToButton(node);\n var klass = this.c.dom.button.active;\n var jqNode = $(button.node);\n if (button.inCollection && this.c.dom.collection.button && this.c.dom.collection.button.active !== undefined) {\n klass = this.c.dom.collection.button.active;\n }\n if (flag === undefined) {\n return jqNode.hasClass(klass);\n }\n jqNode.toggleClass(klass, flag === undefined ? true : flag);\n return this;\n },\n /**\r\n * Add a new button\r\n *\r\n * @name add\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} config Button configuration object, base string name or function\r\n * @param {int|string} [idx] Button index for where to insert the button\r\n * @param {boolean} [draw=true] Trigger a draw. Set a false when adding\r\n * lots of buttons, until the last button.\r\n * @return {Buttons} Self for chaining\r\n *\r\n */\n add: function add(config, idx, draw) {\n var buttons = this.s.buttons;\n if (typeof idx === 'string') {\n var split = idx.split('-');\n var base = this.s;\n for (var i = 0, ien = split.length - 1; i < ien; i++) {\n base = base.buttons[split[i] * 1];\n }\n buttons = base.buttons;\n idx = split[split.length - 1] * 1;\n }\n this._expandButton(buttons, config, config !== undefined ? config.split : undefined, (config === undefined || config.split === undefined || config.split.length === 0) && base !== undefined, false, idx);\n if (draw === undefined || draw === true) {\n this._draw();\n }\n return this;\n },\n /**\r\n * Clear buttons from a collection and then insert new buttons.\r\n *\r\n * @name collectionRebuild\r\n * @function\r\n * @since UDA 6.1.0\r\n *\r\n * @param {node} node Button element\r\n * @param {array} [newButtons] New buttons array\r\n *\r\n */\n collectionRebuild: function collectionRebuild(node, newButtons) {\n var button = this._nodeToButton(node);\n if (newButtons !== undefined) {\n var i;\n // Need to reverse the array\n for (i = button.buttons.length - 1; i >= 0; i--) {\n this.remove(button.buttons[i].node);\n }\n\n // If the collection has prefix and / or postfix buttons we need to add them in\n if (button.conf.prefixButtons) {\n newButtons.unshift.apply(newButtons, button.conf.prefixButtons);\n }\n if (button.conf.postfixButtons) {\n newButtons.push.apply(newButtons, button.conf.postfixButtons);\n }\n for (i = 0; i < newButtons.length; i++) {\n var newBtn = newButtons[i];\n this._expandButton(button.buttons, newBtn, newBtn !== undefined && newBtn.config !== undefined && newBtn.config.split !== undefined, true, newBtn.parentConf !== undefined && newBtn.parentConf.split !== undefined, null, newBtn.parentConf);\n }\n }\n this._draw(button.collection, button.buttons);\n },\n /**\r\n * Get the container node for the buttons\r\n *\r\n * @name container\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @return {jQuery} Buttons node\r\n *\r\n */\n container: function container() {\n return this.dom.container;\n },\n /**\r\n * Disable a button\r\n *\r\n * @name disable\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} node Button node\r\n * @return {Buttons} Self for chaining\r\n *\r\n */\n disable: function disable(node, contextMenu) {\n var button = this._nodeToButton(node);\n $(button.node).addClass(this.c.dom.button.disabled).prop('disabled', true);\n if (contextMenu) {\n $('#' + button.node.id + '_contextMenuToolbar').addClass(this.c.dom.button.disabled);\n }\n return this;\n },\n /**\r\n * Destroy the instance, cleaning up event handlers and removing DOM\r\n * elements\r\n *\r\n * @name destroy\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @return {Buttons} Self for chaining\r\n *\r\n */\n destroy: function destroy() {\n // Key event listener\n $('body').off('keyup.' + this.s.namespace);\n\n // Individual button destroy (so they can remove their own events if\n // needed). Take a copy as the array is modified by `remove`\n var buttons = this.s.buttons.slice();\n var i, ien;\n for (i = 0, ien = buttons.length; i < ien; i++) {\n this.remove(buttons[i].node);\n }\n\n // Container\n this.dom.container.remove();\n\n // Remove from the settings object collection\n var buttonInsts = this.s.dt.settings()[0];\n for (i = 0, ien = buttonInsts.length; i < ien; i++) {\n if (buttonInsts.inst === this) {\n buttonInsts.splice(i, 1);\n break;\n }\n }\n return this;\n },\n /**\r\n * Enable / disable a button\r\n *\r\n * @name enable\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} node Button node\r\n * @param {boolean} [flag=true] Enable / disable flag\r\n * @return {Buttons} Self for chaining\r\n *\r\n */\n enable: function enable(node, flag, contextMenu) {\n if (flag === false) {\n return this.disable(node);\n }\n var button = this._nodeToButton(node);\n $(button.node).removeClass(this.c.dom.button.disabled).prop('disabled', false);\n if (contextMenu) {\n $('#' + button.node.id + '_contextMenuToolbar').removeClass(this.c.dom.button.disabled);\n }\n return this;\n },\n /**\r\n * Get a button's index\r\n *\r\n * This is internally recursive\r\n * @param {element} node Button to get the index of\r\n * @return {string} Button index\r\n */\n index: function index(node, nested, buttons) {\n if (!nested) {\n nested = '';\n buttons = this.s.buttons;\n }\n for (var i = 0, ien = buttons.length; i < ien; i++) {\n var inner = buttons[i].buttons;\n if (buttons[i].node === node) {\n return nested + i;\n }\n if (inner && inner.length) {\n var match = this.index(node, i + '-', inner);\n if (match !== null) {\n return match;\n }\n }\n }\n return null;\n },\n /**\r\n * Get the instance name for the button set selector\r\n *\r\n * @name name\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @return {string} Instance name\r\n *\r\n */\n name: function name() {\n return this.c.name;\n },\n /**\r\n * Get a button's node of the buttons container if no button is given\r\n *\r\n * @name node\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} [node] Button node\r\n * @return {jQuery} Button element, or container\r\n *\r\n */\n node: function node(_node) {\n if (!_node) {\n return this.dom.container;\n }\n var button = this._nodeToButton(_node);\n return $(button.node);\n },\n /**\r\n * Set / get a processing class on the selected button\r\n *\r\n * @name processing\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {element} node Triggering button node\r\n * @param {boolean} flag true to add, false to remove, undefined to get\r\n * @return {boolean|Buttons} Getter value or this if a setter.\r\n *\r\n */\n processing: function processing(node, flag) {\n var dt = this.s.dt;\n var button = this._nodeToButton(node);\n if (flag === undefined) {\n return $(button.node).hasClass('processing');\n }\n $(button.node).toggleClass('processing', flag);\n $(dt.table().node()).triggerHandler('buttons-processing.dt', [flag, dt.button(node), dt, $(node), button.conf]);\n return this;\n },\n /**\r\n * Remove a button.\r\n *\r\n * @name remove\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} node Button node\r\n * @return {Buttons} Self for chaining\r\n *\r\n */\n remove: function remove(node) {\n var button = this._nodeToButton(node);\n var host = this._nodeToHost(node);\n var dt = this.s.dt;\n\n // Remove any child buttons first\n if (button.buttons.length) {\n for (var i = button.buttons.length - 1; i >= 0; i--) {\n this.remove(button.buttons[i].node);\n }\n }\n button.conf.destroying = true;\n\n // Allow the button to remove event handlers, etc\n if (button.conf.destroy) {\n button.conf.destroy.call(dt.button(node), dt, $(node), button.conf);\n }\n this._removeKey(button.conf);\n $(button.node).remove();\n var idx = $.inArray(button, host);\n host.splice(idx, 1);\n return this;\n },\n /**\r\n * Set the text for a button\r\n *\r\n * @name text\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {int|string|function} node Button index\r\n * @param {string} label Text\r\n * @return {Buttons} Self for chaining\r\n *\r\n */\n text: function text(node, label) {\n var button = this._nodeToButton(node);\n var textNode = button.textNode;\n var dt = this.s.dt;\n var jqNode = $(button.node);\n var text = function text(opt) {\n return typeof opt === 'function' ? opt(dt, jqNode, button.conf) : opt;\n };\n if (label === undefined) {\n return text(button.conf.text);\n }\n button.conf.text = label;\n textNode.html(text(label));\n return this;\n },\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * Constructor\r\n */\n\n /**\r\n * Buttons constructor\r\n *\r\n * @name _constructor\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n */\n _constructor: function _constructor() {\n var that = this;\n var dt = this.s.dt;\n var dtSettings = dt.settings()[0];\n var buttons = this.c.buttons;\n if (!dtSettings._buttons) {\n dtSettings._buttons = [];\n }\n dtSettings._buttons.push({\n inst: this,\n name: this.c.name\n });\n for (var i = 0, ien = buttons.length; i < ien; i++) {\n this.add(buttons[i]);\n }\n dt.on('destroy', function (e, settings) {\n if (settings === dtSettings) {\n that.destroy();\n }\n });\n\n // Global key event binding to listen for button keys\n $('body').on('keyup.' + this.s.namespace, function (e) {\n if (!document.activeElement || document.activeElement === document.body) {\n // SUse a string of characters for fast lookup of if we need to\n // handle this\n var character = String.fromCharCode(e.keyCode).toLowerCase();\n if (that.s.listenKeys.toLowerCase().indexOf(character) !== -1) {\n that._keypress(character, e);\n }\n }\n });\n },\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * Private methods\r\n */\n\n /**\r\n * Add a new button to the key press listener\r\n *\r\n * @name _addKey\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} conf Resolved button configuration object\r\n *\r\n */\n _addKey: function _addKey(conf) {\n if (conf.key) {\n this.s.listenKeys += $.isPlainObject(conf.key) ? conf.key.key : conf.key;\n }\n },\n /**\r\n * Insert the buttons into the container. Call without parameters!\r\n *\r\n * @name _draw\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} [container] Recursive only - Insert point\r\n * @param {array} [buttons] Recursive only - Buttons array\r\n *\r\n */\n _draw: function _draw(container, buttons) {\n if (!container) {\n container = this.dom.container;\n buttons = this.s.buttons;\n }\n container.children().detach();\n for (var i = 0, ien = buttons.length; i < ien; i++) {\n container.append(buttons[i].inserter);\n container.append(' ');\n if (buttons[i].buttons && buttons[i].buttons.length) {\n this._draw(buttons[i].collection, buttons[i].buttons);\n }\n }\n },\n /**\r\n * Create buttons from an array of buttons\r\n *\r\n * @name _expandButton\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {array} attachTo Buttons array to attach to\r\n * @param {object} button Button definition\r\n * @param {boolean} inCollection true if the button is in a collection\r\n *\r\n */\n _expandButton: function _expandButton(attachTo, button, split, inCollection, inSplit, attachPoint, parentConf) {\n var dt = this.s.dt;\n var isSplit = false;\n var domCollection = this.c.dom.collection;\n var buttons = !Array.isArray(button) ? [button] : button;\n if (button === undefined) {\n buttons = !Array.isArray(split) ? [split] : split;\n }\n for (var i = 0, ien = buttons.length; i < ien; i++) {\n var conf = this._resolveExtends(buttons[i]);\n if (!conf) {\n continue;\n }\n isSplit = conf.config && conf.config.split ? true : false;\n\n // If the configuration is an array, then expand the buttons at this\n // point\n if (Array.isArray(conf)) {\n this._expandButton(attachTo, conf, built !== undefined && built.conf !== undefined ? built.conf.split : undefined, inCollection, parentConf !== undefined && parentConf.split !== undefined, attachPoint, parentConf);\n continue;\n }\n var built = this._buildButton(conf, inCollection, conf.split !== undefined || conf.config !== undefined && conf.config.split !== undefined, inSplit);\n if (!built) {\n continue;\n }\n if (attachPoint !== undefined && attachPoint !== null) {\n attachTo.splice(attachPoint, 0, built);\n attachPoint++;\n } else {\n attachTo.push(built);\n }\n\n // Create the dropdown for a collection\n if (built.conf.buttons) {\n built.collection = $('<' + domCollection.container.content.tag + '>');\n built.conf._collection = built.collection;\n $(built.node).append(domCollection.action.dropHtml);\n this._expandButton(built.buttons, built.conf.buttons, built.conf.split, !isSplit, isSplit, attachPoint, built.conf);\n }\n\n // And the split collection\n if (built.conf.split) {\n built.collection = $('<' + domCollection.container.tag + '>');\n built.conf._collection = built.collection;\n for (var j = 0; j < built.conf.split.length; j++) {\n var item = built.conf.split[j];\n if (_typeof(item) === 'object') {\n item.parent = parentConf;\n if (item.collectionLayout === undefined) {\n item.collectionLayout = built.conf.collectionLayout;\n }\n if (item.dropup === undefined) {\n item.dropup = built.conf.dropup;\n }\n if (item.fade === undefined) {\n item.fade = built.conf.fade;\n }\n }\n }\n this._expandButton(built.buttons, built.conf.buttons, built.conf.split, !isSplit, isSplit, attachPoint, built.conf);\n }\n built.conf.parent = parentConf;\n\n // init call is made here, rather than buildButton as it needs to\n // be selectable, and for that it needs to be in the buttons array\n if (conf.init) {\n conf.init.call(dt.button(built.node), dt, $(built.node), conf);\n }\n }\n },\n /**\r\n * Create an individual button\r\n *\r\n * @name _buildButton\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} config Resolved button configuration\r\n * @param {boolean} inCollection `true` if a collection button\r\n * @return {object} Completed button description object\r\n *\r\n */\n _buildButton: function _buildButton(config, inCollection, isSplit, inSplit) {\n var configDom = this.c.dom;\n var textNode;\n var dt = this.s.dt;\n var ctx = dt.settings()[0];\n var text = function text(opt) {\n return typeof opt === 'function' ? opt(dt, button, config) : opt;\n };\n\n // Create an object that describes the button which can be in `dom.button`, or\n // `dom.collection.button` or `dom.split.button` or `dom.collection.split.button`!\n // Each should extend from `dom.button`.\n var dom = $.extend(true, {}, configDom.button);\n if (inCollection && isSplit && configDom.collection.split) {\n $.extend(true, dom, configDom.collection.split.action);\n } else if (inSplit || inCollection) {\n $.extend(true, dom, configDom.collection.button);\n } else if (isSplit) {\n $.extend(true, dom, configDom.split.button);\n }\n\n // Spacers don't do much other than insert an element into the DOM\n if (config.spacer) {\n var spacer = $('<' + dom.spacer.tag + '>').addClass('dt-button-spacer ' + config.style + ' ' + dom.spacer.className).html(text(config.text));\n return {\n conf: config,\n node: spacer,\n inserter: spacer,\n buttons: [],\n inCollection: inCollection,\n isSplit: isSplit,\n collection: null,\n textNode: spacer\n };\n }\n\n // Make sure that the button is available based on whatever requirements\n // it has. For example, PDF button require pdfmake\n if (config.available && !config.available(dt, config) && !config.hasOwnProperty('html')) {\n return false;\n }\n var button;\n if (!config.hasOwnProperty('html')) {\n var action = function action(e, dt, button, config) {\n config.action.call(dt.button(button), e, dt, button, config);\n $(dt.table().node()).triggerHandler('buttons-action.dt', [dt.button(button), dt, button, config]);\n };\n var tag = config.tag || dom.tag;\n var clickBlurs = config.clickBlurs === undefined ? true : config.clickBlurs;\n button = $('<' + tag + '>').addClass(dom.className).attr('tabindex', this.s.dt.settings()[0].iTabIndex).attr('aria-controls', this.s.dt.table().node().id).on('click.dtb', function (e) {\n e.preventDefault();\n if (!button.hasClass(dom.disabled) && config.action) {\n action(e, dt, button, config);\n }\n if (clickBlurs) {\n button.trigger('blur');\n }\n }).on('keypress.dtb', function (e) {\n if (e.keyCode === 13) {\n e.preventDefault();\n if (!button.hasClass(dom.disabled) && config.action) {\n action(e, dt, button, config);\n }\n }\n });\n\n // Make `a` tags act like a link\n if (tag.toLowerCase() === 'a') {\n button.attr('href', '#');\n }\n\n // Button tags should have `type=button` so they don't have any default behaviour\n if (tag.toLowerCase() === 'button') {\n button.attr('type', 'button');\n }\n if (dom.liner.tag) {\n var liner = $('<' + dom.liner.tag + '>').html(text(config.text)).addClass(dom.liner.className);\n if (dom.liner.tag.toLowerCase() === 'a') {\n liner.attr('href', '#');\n }\n button.append(liner);\n textNode = liner;\n } else {\n button.html(text(config.text));\n textNode = button;\n }\n if (config.enabled === false) {\n button.addClass(dom.disabled);\n }\n if (config.id) {\n button.attr('id', config.id);\n } else {\n // Se desactiva el acceso desde el contextMenu por no tener un id establecido\n config.insideContextMenu = false;\n // Se asigna un id dinamico en funcion del nombre del table al que pertenece\n config.id = ctx.sTableId + '_button_' + _buttonIdCounter++;\n button.attr('id', config.id);\n }\n if (config.className) {\n button.addClass(config.className);\n }\n if (config.titleAttr) {\n button.attr('title', text(config.titleAttr));\n }\n if (config.attr) {\n button.attr(config.attr);\n }\n if (!config.namespace) {\n config.namespace = '.dt-button-' + _buttonCounter++;\n }\n if (!config.icon) {\n // Comprueba si es alguno de los botones con iconos definidos por defecto\n switch (config.type) {\n case 'add':\n config.icon = 'mdi-plus';\n break;\n case 'edit':\n config.icon = 'mdi-playlist-edit';\n break;\n case 'clone':\n config.icon = 'mdi-content-copy';\n break;\n case 'delete':\n config.icon = 'mdi-trash-can-outline';\n break;\n case 'reports':\n config.icon = 'mdi-file-export';\n break;\n case 'copyButton':\n config.icon = 'mdi-clipboard-text-outline';\n break;\n case 'excelButton':\n config.icon = 'mdi-file-excel';\n break;\n case 'pdfButton':\n config.icon = 'mdi-file-pdf';\n break;\n case 'odsButton':\n config.icon = 'mdi-file';\n break;\n case 'csvButton':\n config.icon = 'mdi-file';\n break;\n default:\n config.icon = 'mdi-settings';\n }\n }\n if (config.config !== undefined && config.config.split) {\n config.split = config.config.split;\n }\n } else {\n button = $(config.html);\n }\n var buttonContainer = this.c.dom.buttonContainer;\n var inserter;\n if (buttonContainer && buttonContainer.tag) {\n inserter = $('<' + buttonContainer.tag + '>').addClass(buttonContainer.className).append(button);\n } else {\n inserter = button;\n }\n this._addKey(config);\n\n // Style integration callback for DOM manipulation\n // Note that this is _not_ documented. It is currently\n // for style integration only\n if (this.c.buttonCreated) {\n inserter = this.c.buttonCreated(config, inserter);\n }\n var splitDiv;\n if (isSplit) {\n var dropdownConf = inCollection ? $.extend(true, this.c.dom.split, this.c.dom.collection.split) : this.c.dom.split;\n var wrapperConf = dropdownConf.wrapper;\n splitDiv = $('<' + wrapperConf.tag + '>').addClass(wrapperConf.className).append(button);\n var dropButtonConfig = $.extend(config, {\n align: dropdownConf.dropdown.align,\n attr: {\n 'aria-haspopup': 'dialog',\n 'aria-expanded': false\n },\n className: dropdownConf.dropdown.className,\n closeButton: false,\n splitAlignClass: dropdownConf.dropdown.splitAlignClass,\n text: dropdownConf.dropdown.text\n });\n this._addKey(dropButtonConfig);\n var splitAction = function splitAction(e, dt, button, config) {\n _dtButtons.split.action.call(dt.button(splitDiv), e, dt, button, config);\n $(dt.table().node()).triggerHandler('buttons-action.dt', [dt.button(button), dt, button, config]);\n button.attr('aria-expanded', true);\n };\n var dropButton = $('').html(dropdownConf.dropdown.dropHtml).on('click.dtb', function (e) {\n e.preventDefault();\n e.stopPropagation();\n if (!dropButton.hasClass(dom.disabled)) {\n splitAction(e, dt, dropButton, dropButtonConfig);\n }\n if (clickBlurs) {\n dropButton.trigger('blur');\n }\n }).on('keypress.dtb', function (e) {\n if (e.keyCode === 13) {\n e.preventDefault();\n if (!dropButton.hasClass(dom.disabled)) {\n splitAction(e, dt, dropButton, dropButtonConfig);\n }\n }\n });\n if (config.split.length === 0) {\n dropButton.addClass('dtb-hide-drop');\n }\n splitDiv.append(dropButton).attr(dropButtonConfig.attr);\n }\n return {\n conf: config,\n node: isSplit ? splitDiv.get(0) : button.get(0),\n inserter: isSplit ? splitDiv : inserter,\n buttons: [],\n inCollection: inCollection,\n isSplit: isSplit,\n inSplit: inSplit,\n collection: null,\n textNode: textNode\n };\n },\n /**\r\n * Get the button object from a node (recursive)\r\n *\r\n * @name _nodeToButton\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} node Button node\r\n * @param {array} [buttons] Button array, uses base if not defined\r\n * @return {object} Button object\r\n *\r\n */\n _nodeToButton: function _nodeToButton(node, buttons) {\n if (!buttons) {\n buttons = this.s.buttons;\n }\n for (var i = 0, ien = buttons.length; i < ien; i++) {\n if (buttons[i].node === node) {\n return buttons[i];\n }\n if (buttons[i].buttons.length) {\n var ret = this._nodeToButton(node, buttons[i].buttons);\n if (ret) {\n return ret;\n }\n }\n }\n },\n /**\r\n * Get container array for a button from a button node (recursive)\r\n *\r\n * @name _nodeToHost\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {node} node Button node\r\n * @param {array} [buttons] Button array, uses base if not defined\r\n * @return {array} Button's host array\r\n *\r\n */\n _nodeToHost: function _nodeToHost(node, buttons) {\n if (!buttons) {\n buttons = this.s.buttons;\n }\n for (var i = 0, ien = buttons.length; i < ien; i++) {\n if (buttons[i].node === node) {\n return buttons;\n }\n if (buttons[i].buttons.length) {\n var ret = this._nodeToHost(node, buttons[i].buttons);\n if (ret) {\n return ret;\n }\n }\n }\n },\n /**\r\n * Handle a key press - determine if any button's key configured matches\r\n * what was typed and trigger the action if so.\r\n *\r\n * @name _keypress\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {string} character The character pressed\r\n * @param {object} e Key event that triggered this call\r\n *\r\n */\n _keypress: function _keypress(character, e) {\n // Check if this button press already activated on another instance of Buttons\n if (e._buttonsHandled) {\n return;\n }\n var run = function run(conf, node) {\n if (!conf.key) {\n return;\n }\n if (conf.key === character) {\n e._buttonsHandled = true;\n $(node).click();\n } else if ($.isPlainObject(conf.key)) {\n if (conf.key.key !== character) {\n return;\n }\n if (conf.key.shiftKey && !e.shiftKey) {\n return;\n }\n if (conf.key.altKey && !e.altKey) {\n return;\n }\n if (conf.key.ctrlKey && !e.ctrlKey) {\n return;\n }\n if (conf.key.metaKey && !e.metaKey) {\n return;\n }\n\n // Made it this far - it is good\n e._buttonsHandled = true;\n $(node).click();\n }\n };\n var _recurse = function recurse(a) {\n for (var i = 0, ien = a.length; i < ien; i++) {\n run(a[i].conf, a[i].node);\n if (a[i].buttons.length) {\n _recurse(a[i].buttons);\n }\n }\n };\n _recurse(this.s.buttons);\n },\n /**\r\n * Remove a key from the key listener for this instance (to be used when a\r\n * button is removed)\r\n *\r\n * @name _removeKey\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} conf Button configuration\r\n *\r\n */\n _removeKey: function _removeKey(conf) {\n if (conf.key) {\n var character = $.isPlainObject(conf.key) ? conf.key.key : conf.key;\n\n // Remove only one character, as multiple buttons could have the\n // same listening key\n var a = this.s.listenKeys.split('');\n var idx = $.inArray(character, a);\n a.splice(idx, 1);\n this.s.listenKeys = a.join('');\n }\n },\n /**\r\n * Resolve a button configuration\r\n *\r\n * @name _resolveExtends\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {string|function|object} conf Button config to resolve\r\n * @return {object} Button configuration\r\n *\r\n */\n _resolveExtends: function _resolveExtends(conf) {\n var that = this;\n var dt = this.s.dt;\n var i, ien;\n var ctx = dt.context[0];\n var _dtButtonsTable = ctx.ext.buttons;\n _dtButtonsTable.collection = _dtButtons.collection;\n var toConfObject = function toConfObject(base) {\n var loop = 0;\n\n // Loop until we have resolved to a button configuration, or an\n // array of button configurations (which will be iterated\n // separately)\n while (!$.isPlainObject(base) && !Array.isArray(base)) {\n if (base === undefined) {\n return;\n }\n if (typeof base === 'function') {\n base = base.call(that, dt, conf);\n if (!base) {\n return false;\n }\n } else if (typeof base === 'string') {\n if (!_dtButtonsTable[base]) {\n return {\n html: base\n };\n }\n base = _dtButtonsTable[base];\n }\n loop++;\n if (loop > 30) {\n // Protect against misconfiguration killing the browser\n throw 'Buttons: Too many iterations';\n }\n }\n return Array.isArray(base) ? base : $.extend({}, base);\n };\n conf = toConfObject(conf);\n while (conf && conf.extend) {\n // Use `toConfObject` in case the button definition being extended\n // is itself a string or a function\n if (!_dtButtonsTable[conf.extend]) {\n throw 'Cannot extend unknown button type: ' + conf.extend;\n }\n var objArray = toConfObject(_dtButtonsTable[conf.extend]);\n if (Array.isArray(objArray)) {\n return objArray;\n } else if (!objArray) {\n // This is a little brutal as it might be possible to have a\n // valid button without the extend, but if there is no extend\n // then the host button would be acting in an undefined state\n return false;\n }\n\n // Stash the current class name\n var originalClassName = objArray.className;\n if (conf.config !== undefined && objArray.config !== undefined) {\n conf.config = $.extend({}, objArray.config, conf.config);\n }\n conf = $.extend({}, objArray, conf);\n\n // The extend will have overwritten the original class name if the\n // `conf` object also assigned a class, but we want to concatenate\n // them so they are list that is combined from all extended buttons\n if (originalClassName && conf.className !== originalClassName) {\n conf.className = originalClassName + ' ' + conf.className;\n }\n\n // Although we want the `conf` object to overwrite almost all of\n // the properties of the object being extended, the `extend`\n // property should come from the object being extended\n conf.extend = objArray.extend;\n }\n\n // Buttons to be added to a collection -gives the ability to define\n // if buttons should be added to the start or end of a collection\n var postfixButtons = conf.postfixButtons;\n if (postfixButtons) {\n if (!conf.buttons) {\n conf.buttons = [];\n }\n for (i = 0, ien = postfixButtons.length; i < ien; i++) {\n conf.buttons.push(postfixButtons[i]);\n }\n }\n var prefixButtons = conf.prefixButtons;\n if (prefixButtons) {\n if (!conf.buttons) {\n conf.buttons = [];\n }\n for (i = 0, ien = prefixButtons.length; i < ien; i++) {\n conf.buttons.splice(i, 0, prefixButtons[i]);\n }\n }\n return conf;\n },\n /**\r\n * Display (and replace if there is an existing one) a popover attached to a button\r\n * @param {string|node} content Content to show\r\n * @param {DataTable.Api} hostButton DT API instance of the button\r\n * @param {object} inOpts Options (see object below for all options)\r\n */\n _popover: function _popover(content, hostButton, inOpts, e) {\n var dt = hostButton;\n var c = this.c;\n var closed = false;\n var options = $.extend({\n align: 'button-left',\n // button-right, dt-container, split-left, split-right\n autoClose: false,\n background: true,\n backgroundClassName: 'dt-button-background',\n closeButton: true,\n containerClassName: c.dom.collection.container.className,\n contentClassName: c.dom.collection.container.content.className,\n collectionLayout: '',\n collectionTitle: '',\n dropup: false,\n fade: 400,\n popoverTitle: '',\n rightAlignClassName: 'dt-button-right',\n tag: c.dom.collection.container.tag\n }, inOpts);\n var containerSelector = options.tag + '.' + options.containerClassName.replace(/ /g, '.');\n var hostNode = hostButton.node();\n var close = function close() {\n closed = true;\n _fadeOut($(containerSelector), options.fade, function () {\n $(this).detach();\n });\n $(dt.buttons('[aria-haspopup=\"dialog\"][aria-expanded=\"true\"]').nodes()).attr('aria-expanded', 'false');\n $('div.dt-button-background').off('click.dtb-collection');\n _Buttons.background(false, options.backgroundClassName, options.fade, hostNode);\n $(window).off('resize.resize.dtb-collection');\n $('body').off('.dtb-collection');\n dt.off('buttons-action.b-internal');\n dt.off('destroy');\n };\n if (content === false) {\n close();\n return;\n }\n var existingExpanded = $(dt.buttons('[aria-haspopup=\"dialog\"][aria-expanded=\"true\"]').nodes());\n if (existingExpanded.length) {\n // Reuse the current position if the button that was triggered is inside an existing collection\n if (hostNode.closest(containerSelector).length) {\n hostNode = existingExpanded.eq(0);\n }\n close();\n }\n\n // Try to be smart about the layout\n var cnt = $('.dt-button', content).length;\n var mod = '';\n if (cnt === 3) {\n mod = 'dtb-b3';\n } else if (cnt === 2) {\n mod = 'dtb-b2';\n } else if (cnt === 1) {\n mod = 'dtb-b1';\n }\n var display = $('<' + options.tag + '>').addClass(options.containerClassName).addClass(options.collectionLayout).addClass(options.splitAlignClass).addClass(mod).css('display', 'none').attr({\n 'aria-modal': true,\n role: 'dialog'\n });\n content = $(content).addClass(options.contentClassName).attr('role', 'menu').appendTo(display);\n hostNode.attr('aria-expanded', 'true');\n if (hostNode.parents('body')[0] !== document.body) {\n hostNode = document.body.lastChild;\n }\n if (options.popoverTitle) {\n display.prepend('
              ' + options.popoverTitle + '
              ');\n } else if (options.collectionTitle) {\n display.prepend('
              ' + options.collectionTitle + '
              ');\n }\n if (options.closeButton) {\n display.prepend('
              ×
              ').addClass('dtb-collection-closeable');\n }\n _fadeIn(display.insertAfter(hostNode), options.fade);\n var tableContainer = $(hostButton.table().container());\n var position = display.css('position');\n if (options.span === 'container' || options.align === 'dt-container') {\n hostNode = hostNode.parent();\n display.css('width', tableContainer.width());\n }\n\n // Align the popover relative to the DataTables container\n // Useful for wide popovers such as SearchPanes\n if (position === 'absolute') {\n // Align relative to the host button\n var offsetParent = $(hostNode[0].offsetParent);\n var buttonPosition = {\n top: hostNode.position().top + parseInt(hostNode.css('marginTop'), 10),\n left: hostNode.position().left + parseInt(hostNode.css('marginLeft'), 10)\n };\n var buttonOffset = hostNode.offset();\n var tableSizes = offsetParent.offset();\n var containerPosition = offsetParent.position();\n var computed = window.getComputedStyle(offsetParent[0]);\n tableSizes.height = offsetParent.outerHeight();\n tableSizes.width = offsetParent.width() + parseFloat(computed.paddingLeft);\n tableSizes.right = tableSizes.left + tableSizes.width;\n tableSizes.bottom = tableSizes.top + tableSizes.height;\n\n // Set the initial position so we can read height / width\n var top = buttonPosition.top + hostNode.outerHeight();\n var left = buttonPosition.left;\n display.css({\n top: top,\n left: left\n });\n\n // Get the popover position\n computed = window.getComputedStyle(display[0]);\n var popoverSizes = display.offset();\n popoverSizes.height = display.outerHeight();\n popoverSizes.width = display.outerWidth();\n popoverSizes.right = popoverSizes.left + popoverSizes.width;\n popoverSizes.bottom = popoverSizes.top + popoverSizes.height;\n popoverSizes.marginTop = parseFloat(computed.marginTop);\n popoverSizes.marginBottom = parseFloat(computed.marginBottom);\n\n // First position per the class requirements - pop up and right align\n if (options.dropup) {\n top = buttonPosition.top - popoverSizes.height - popoverSizes.marginTop - popoverSizes.marginBottom;\n }\n if (options.align === 'button-right' || display.hasClass(options.rightAlignClassName)) {\n left = buttonPosition.left - popoverSizes.width + hostNode.outerWidth();\n }\n\n // Container alignment - make sure it doesn't overflow the table container\n if (options.align === 'dt-container' || options.align === 'container') {\n if (left < buttonPosition.left) {\n left = -buttonPosition.left;\n }\n if (left + popoverSizes.width > tableSizes.width) {\n left = tableSizes.width - popoverSizes.width;\n }\n }\n\n // Window adjustment\n if (containerPosition.left + left + popoverSizes.width > $(window).width()) {\n // Overflowing the document to the right\n left = $(window).width() - popoverSizes.width - containerPosition.left;\n }\n if (buttonOffset.left + left < 0) {\n // Off to the left of the document\n left = -buttonOffset.left;\n }\n if (containerPosition.top + top + popoverSizes.height > $(window).height() + $(window).scrollTop()) {\n // Pop up if otherwise we'd need the user to scroll down\n top = buttonPosition.top - popoverSizes.height - popoverSizes.marginTop - popoverSizes.marginBottom;\n }\n if (containerPosition.top + top < $(window).scrollTop()) {\n // Correction for when the top is beyond the top of the page\n top = buttonPosition.top + hostNode.outerHeight();\n }\n\n // Calculations all done - now set it\n display.css({\n top: top,\n left: left\n });\n } else {\n // Fix position - centre on screen\n var position = function position() {\n var half = $(window).height() / 2;\n var top = display.height() / 2;\n if (top > half) {\n top = half;\n }\n display.css('marginTop', top * -1);\n };\n position();\n $(window).on('resize.dtb-collection', function () {\n position();\n });\n }\n if (options.background) {\n _Buttons.background(true, options.backgroundClassName, options.fade, options.backgroundHost || hostNode);\n }\n\n // This is bonkers, but if we don't have a click listener on the\n // background element, iOS Safari will ignore the body click\n // listener below. An empty function here is all that is\n // required to make it work...\n $('div.dt-button-background').on('click.dtb-collection', function () {});\n if (options.autoClose) {\n setTimeout(function () {\n dt.on('buttons-action.b-internal', function (e, btn, dt, node) {\n if (node[0] === hostNode[0]) {\n return;\n }\n close();\n });\n }, 0);\n }\n $(display).trigger('buttons-popover.dt');\n dt.on('destroy', close);\n setTimeout(function () {\n closed = false;\n $('body').on('click.dtb-collection', function (e) {\n if (closed) {\n return;\n }\n\n // andSelf is deprecated in jQ1.8, but we want 1.7 compat\n var back = $.fn.addBack ? 'addBack' : 'andSelf';\n var parent = $(e.target).parent()[0];\n if (!$(e.target).parents()[back]().filter(content).length && !$(parent).hasClass('dt-buttons') || $(e.target).hasClass('dt-button-background')) {\n close();\n }\n }).on('keyup.dtb-collection', function (e) {\n if (e.keyCode === 27) {\n close();\n }\n }).on('keydown.dtb-collection', function (e) {\n // Focus trap for tab key\n var elements = $('a, button', content);\n var active = document.activeElement;\n if (e.keyCode !== 9) {\n // tab\n return;\n }\n if (elements.index(active) === -1) {\n // If current focus is not inside the popover\n elements.first().focus();\n e.preventDefault();\n } else if (e.shiftKey) {\n // Reverse tabbing order when shift key is pressed\n if (active === elements[0]) {\n elements.last().focus();\n e.preventDefault();\n }\n } else {\n if (active === elements.last()[0]) {\n elements.first().focus();\n e.preventDefault();\n }\n }\n });\n }, 0);\n }\n });\n\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * Statics\r\n */\n\n /**\r\n * Show / hide a background layer behind a collection\r\n *\r\n * @name Buttons.background\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {boolean} Flag to indicate if the background should be shown or\r\n * hidden\r\n * @param {string} Class to assign to the background\r\n *\r\n * @static\r\n *\r\n */\n _Buttons.background = function (show, className, fade, insertPoint) {\n if (fade === undefined) {\n fade = 400;\n }\n if (show) {\n _fadeIn($('
              ').addClass(className).css('display', 'none').insertAfter(insertPoint), fade);\n } else {\n _fadeOut($('div.' + className), fade, function () {\n $(this).removeClass(className).remove();\n });\n }\n };\n\n /**\r\n * Instance selector - select Buttons instances based on an instance selector\r\n * value from the buttons assigned to a DataTable. This is only useful if\r\n * multiple instances are attached to a DataTable.\r\n *\r\n * @name Buttons.instanceSelector\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {string|int|array} Instance selector - see `instance-selector`\r\n * documentation on the DataTables site\r\n * @param {array} Button instance array that was attached to the DataTables\r\n * settings object\r\n * @return {array} Buttons instances\r\n *\r\n * @static\r\n *\r\n */\n _Buttons.instanceSelector = function (group, buttons) {\n if (group === undefined || group === null) {\n return $.map(buttons, function (v) {\n return v.inst;\n });\n }\n var ret = [];\n var names = $.map(buttons, function (v) {\n return v.name;\n });\n\n // Flatten the group selector into an array of single options\n var _process = function process(input) {\n if (Array.isArray(input)) {\n for (var i = 0, ien = input.length; i < ien; i++) {\n _process(input[i]);\n }\n return;\n }\n if (typeof input === 'string') {\n if (input.indexOf(',') !== -1) {\n // String selector, list of names\n _process(input.split(','));\n } else {\n // String selector individual name\n var idx = $.inArray(input.trim(), names);\n if (idx !== -1) {\n ret.push(buttons[idx].inst);\n }\n }\n } else if (typeof input === 'number') {\n // Index selector\n ret.push(buttons[input].inst);\n } else if (_typeof(input) === 'object') {\n // Actual instance selector\n ret.push(input);\n }\n };\n _process(group);\n return ret;\n };\n\n /**\r\n * Button selector - select one or more buttons from a selector input so some\r\n * operation can be performed on them.\r\n *\r\n * @name Buttons.buttonSelector\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {array} Button instances array that the selector should operate on\r\n * @param {string|int|node|jQuery|array} Button selector - see\r\n * `button-selector` documentation on the DataTables site\r\n * @return {array} Array of objects containing `inst` and `idx` properties of\r\n * the selected buttons so you know which instance each button belongs to.\r\n *\r\n * @static\r\n *\r\n */\n _Buttons.buttonSelector = function (insts, selector) {\n var ret = [];\n var _nodeBuilder = function nodeBuilder(a, buttons, baseIdx) {\n var button;\n var idx;\n for (var i = 0, ien = buttons.length; i < ien; i++) {\n button = buttons[i];\n if (button) {\n idx = baseIdx !== undefined ? baseIdx + i : i + '';\n a.push({\n node: button.node,\n name: button.conf.name,\n idx: idx\n });\n if (button.buttons) {\n _nodeBuilder(a, button.buttons, idx + '-');\n }\n }\n }\n };\n var _run = function run(selector, inst) {\n var i, ien;\n var buttons = [];\n _nodeBuilder(buttons, inst.s.buttons);\n var nodes = $.map(buttons, function (v) {\n return v.node;\n });\n if (Array.isArray(selector) || selector instanceof $) {\n for (i = 0, ien = selector.length; i < ien; i++) {\n _run(selector[i], inst);\n }\n return;\n }\n if (selector === null || selector === undefined || selector === '*') {\n // Select all\n for (i = 0, ien = buttons.length; i < ien; i++) {\n ret.push({\n inst: inst,\n node: buttons[i].node\n });\n }\n } else if (typeof selector === 'number') {\n // Main button index selector\n if (inst.s.buttons[selector]) {\n ret.push({\n inst: inst,\n node: inst.s.buttons[selector].node\n });\n }\n } else if (typeof selector === 'string') {\n if (selector.indexOf(',') !== -1) {\n // Split\n var a = selector.split(',');\n for (i = 0, ien = a.length; i < ien; i++) {\n _run(a[i].trim(), inst);\n }\n } else if (selector.match(/^\\d+(\\-\\d+)*$/)) {\n // Sub-button index selector\n var indexes = $.map(buttons, function (v) {\n return v.idx;\n });\n ret.push({\n inst: inst,\n node: buttons[$.inArray(selector, indexes)].node\n });\n } else if (selector.indexOf(':name') !== -1) {\n // Button name selector\n var name = selector.replace(':name', '');\n for (i = 0, ien = buttons.length; i < ien; i++) {\n if (buttons[i].name === name) {\n ret.push({\n inst: inst,\n node: buttons[i].node\n });\n }\n }\n } else {\n // jQuery selector on the nodes\n $(nodes).filter(selector).each(function () {\n ret.push({\n inst: inst,\n node: this\n });\n });\n }\n } else if (_typeof(selector) === 'object' && selector.nodeName) {\n // Node selector\n var idx = $.inArray(selector, nodes);\n if (idx !== -1) {\n ret.push({\n inst: inst,\n node: nodes[idx]\n });\n }\n }\n };\n for (var i = 0, ien = insts.length; i < ien; i++) {\n var inst = insts[i];\n _run(selector, inst);\n }\n return ret;\n };\n\n /**\r\n * Default function used for formatting output data.\r\n * @param {*} str Data to strip\r\n */\n _Buttons.stripData = function (str, config) {\n if (typeof str !== 'string') {\n return str;\n }\n\n // Always remove script tags\n str = str.replace(/)<[^<]*)*<\\/script>/gi, '');\n\n // Always remove comments\n str = str.replace(//g, '');\n if (!config || config.stripHtml) {\n str = str.replace(/<[^>]*>/g, '');\n }\n if (!config || config.trim) {\n str = str.replace(/^\\s+|\\s+$/g, '');\n }\n if (!config || config.stripNewlines) {\n str = str.replace(/\\n/g, ' ');\n }\n if (!config || config.decodeEntities) {\n if (_entityDecoder) {\n str = _entityDecoder(str);\n } else {\n _exportTextarea.innerHTML = str;\n str = _exportTextarea.value;\n }\n }\n return str;\n };\n\n /**\r\n * Provide a custom entity decoding function - e.g. a regex one, which can be\r\n * much faster than the built in DOM option, but also larger code size.\r\n * @param {function} fn\r\n */\n _Buttons.entityDecoder = function (fn) {\n _entityDecoder = fn;\n };\n\n /**\r\n * Version information\r\n *\r\n * @name Buttons.version\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @type {string}\r\n *\r\n * @static\r\n *\r\n */\n _Buttons.version = '2.4.2';\n $.extend(_dtButtons, {\n collection: {\n text: function text(dt) {\n return $.rup.i18nParse($.rup.i18n.base, 'rup_table.collection');\n },\n className: 'buttons-collection',\n closeButton: false,\n init: function init(dt, button, config) {\n button.attr('aria-expanded', false);\n },\n action: function action(e, dt, button, config) {\n if (config._collection.parents('body').length) {\n this.popover(false, config);\n } else {\n this.popover(config._collection, config);\n }\n if (config.background) {\n // Si la tabla se encuentra en un dialogo insertamos el background dentro del dialogo\n if ($('div.rup-dialog').has('#' + dt.context[0].sTableId + '_wrapper').length ? true : false) {\n $('div.rup-dialog #' + dt.context[0].sTableId + '_wrapper').append('
              ');\n }\n // Si no usamos el funcionamiento por defecto\n else {\n _Buttons.background(true, config.backgroundClassName, config.fade);\n }\n }\n\n // Como el boton se posiciona de manera absoluta hay que establecerle la posicion\n // cada vez que se cambia el tamaño de la pantalla.\n $(window).on('resize.ajustarCollection', function () {\n if (!$('div.dt-button-collection').is(':visible')) {\n $(window).off('resize.ajustarCollection');\n } else {\n hostPosition = {\n top: host.position().top + parseInt(host.css('marginTop'), 10),\n left: host.position().left + parseInt(host.css('marginLeft'), 10)\n };\n config._collection.css({\n top: hostPosition.top + host.outerHeight(),\n left: hostPosition.left\n });\n }\n });\n\n // When activated using a key - auto focus on the\n // first item in the popover\n if (e.type === 'keypress') {\n $('a, button', config._collection).eq(0).focus();\n }\n },\n attr: {\n 'aria-haspopup': 'dialog'\n }\n // Also the popover options, defined in Buttons.popover\n },\n split: {\n text: function text(dt) {\n return dt.i18n('buttons.split', 'Split');\n },\n className: 'buttons-split',\n closeButton: false,\n init: function init(dt, button, config) {\n return button.attr('aria-expanded', false);\n },\n action: function action(e, dt, button, config) {\n this.popover(config._collection, config);\n },\n attr: {\n 'aria-haspopup': 'dialog'\n }\n // Also the popover options, defined in Buttons.popover\n },\n addButton: function addButton(dt, conf) {\n var ctx = dt.context[0];\n var collection = _dtButtons['collection'];\n _dtButtons = ctx.ext.buttons;\n _dtButtons.collection = collection;\n if (_dtButtons.addButton) {\n return 'addButton';\n }\n },\n editButton: function editButton(dt, conf) {\n if (_dtButtons.editButton) {\n return 'editButton';\n }\n },\n cloneButton: function cloneButton(dt, conf) {\n if (_dtButtons.cloneButton) {\n return 'cloneButton';\n }\n },\n deleteButton: function deleteButton(dt, conf) {\n if (_dtButtons.deleteButton) {\n return 'deleteButton';\n }\n },\n reportsButton: function reportsButton(dt, conf) {\n if (_dtButtons.reportsButton) {\n return 'reportsButton';\n }\n },\n pageLength: function pageLength(dt) {\n var lengthMenu = dt.settings()[0].aLengthMenu;\n var vals = [];\n var lang = [];\n var text = function text(dt) {\n return dt.i18n('buttons.pageLength', {\n '-1': 'Show all rows',\n _: 'Show %d rows'\n }, dt.page.len());\n };\n\n // Support for DataTables 1.x 2D array\n if (Array.isArray(lengthMenu[0])) {\n vals = lengthMenu[0];\n lang = lengthMenu[1];\n } else {\n for (var i = 0; i < lengthMenu.length; i++) {\n var option = lengthMenu[i];\n\n // Support for DataTables 2 object in the array\n if ($.isPlainObject(option)) {\n vals.push(option.value);\n lang.push(option.label);\n } else {\n vals.push(option);\n lang.push(option);\n }\n }\n }\n return {\n extend: 'collection',\n text: text,\n className: 'buttons-page-length',\n autoClose: true,\n buttons: $.map(vals, function (val, i) {\n return {\n text: lang[i],\n className: 'button-page-length',\n action: function action(e, dt) {\n dt.page.len(val).draw();\n },\n init: function init(dt, node, conf) {\n var that = this;\n var fn = function fn() {\n that.active(dt.page.len() === val);\n };\n dt.on('length.dt' + conf.namespace, fn);\n fn();\n },\n destroy: function destroy(dt, node, conf) {\n dt.off('length.dt' + conf.namespace);\n }\n };\n }),\n init: function init(dt, node, conf) {\n var that = this;\n dt.on('length.dt' + conf.namespace, function () {\n that.text(conf.text);\n });\n },\n destroy: function destroy(dt, node, conf) {\n dt.off('length.dt' + conf.namespace);\n }\n };\n },\n spacer: {\n style: 'empty',\n spacer: true,\n text: function text(dt) {\n return dt.i18n('buttons.spacer', '');\n }\n }\n });\n\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * DataTables API\r\n *\r\n * For complete documentation, please refer to the docs/api directory or the\r\n * DataTables site\r\n */\n\n // Buttons group and individual button selector\n DataTable.Api.register('buttons()', function (group, selector) {\n // Argument shifting\n if (selector === undefined) {\n selector = group;\n group = undefined;\n }\n this.selector.buttonGroup = group;\n var res = this.iterator(true, 'table', function (ctx) {\n if (ctx._buttons) {\n return _Buttons.buttonSelector(_Buttons.instanceSelector(group, ctx._buttons), selector);\n }\n }, true);\n res._groupSelector = group;\n return res;\n });\n\n // Individual button selector\n DataTable.Api.register('button()', function (group, selector) {\n // just run buttons() and truncate\n var buttons = this.buttons(group, selector);\n if (buttons.length > 1) {\n buttons.splice(1, buttons.length);\n }\n return buttons;\n });\n\n // Active buttons\n DataTable.Api.registerPlural('buttons().active()', 'button().active()', function (flag) {\n if (flag === undefined) {\n return this.map(function (set) {\n return set.inst.active(set.node);\n });\n }\n return this.each(function (set) {\n set.inst.active(set.node, flag);\n });\n });\n\n // Get / set button action\n DataTable.Api.registerPlural('buttons().action()', 'button().action()', function (action) {\n if (action === undefined) {\n return this.map(function (set) {\n return set.inst.action(set.node);\n });\n }\n return this.each(function (set) {\n set.inst.action(set.node, action);\n });\n });\n\n // Collection control\n DataTable.Api.registerPlural('buttons().collectionRebuild()', 'button().collectionRebuild()', function (buttons) {\n return this.each(function (set) {\n for (var i = 0; i < buttons.length; i++) {\n if (_typeof(buttons[i]) === 'object') {\n buttons[i].parentConf = set;\n }\n }\n set.inst.collectionRebuild(set.node, buttons);\n });\n });\n\n // Enable / disable buttons\n DataTable.Api.register(['buttons().enable()', 'button().enable()'], function (flag, contextMenu) {\n return this.each(function (set) {\n set.inst.enable(set.node, flag, contextMenu);\n });\n });\n\n // Disable buttons\n DataTable.Api.register(['buttons().disable()', 'button().disable()'], function (contextMenu) {\n return this.each(function (set) {\n set.inst.disable(set.node, contextMenu);\n });\n });\n\n // Button index\n DataTable.Api.register('button().index()', function () {\n var idx = null;\n this.each(function (set) {\n var res = set.inst.index(set.node);\n if (res !== null) {\n idx = res;\n }\n });\n return idx;\n });\n\n // Get button nodes\n DataTable.Api.registerPlural('buttons().nodes()', 'button().node()', function () {\n var jq = $();\n\n // jQuery will automatically reduce duplicates to a single entry\n $(this.each(function (set) {\n jq = jq.add(set.inst.node(set.node));\n }));\n return jq;\n });\n\n // Get / set button processing state\n DataTable.Api.registerPlural('buttons().processing()', 'button().processing()', function (flag) {\n if (flag === undefined) {\n return this.map(function (set) {\n return set.inst.processing(set.node);\n });\n }\n return this.each(function (set) {\n set.inst.processing(set.node, flag);\n });\n });\n\n // Get / set button text (i.e. the button labels)\n DataTable.Api.registerPlural('buttons().text()', 'button().text()', function (label) {\n if (label === undefined) {\n return this.map(function (set) {\n return set.inst.text(set.node);\n });\n }\n return this.each(function (set) {\n set.inst.text(set.node, label);\n });\n });\n\n // Trigger a button's action\n DataTable.Api.registerPlural('buttons().trigger()', 'button().trigger()', function () {\n return this.each(function (set) {\n set.inst.node(set.node).trigger('click');\n });\n });\n\n // Button resolver to the popover\n DataTable.Api.register('button().popover()', function (content, options) {\n return this.map(function (set) {\n return set.inst._popover(content, this.button(this[0].node), options);\n });\n });\n\n // Get the container elements\n DataTable.Api.register('buttons().containers()', function () {\n var jq = $();\n var groupSelector = this._groupSelector;\n\n // We need to use the group selector directly, since if there are no buttons\n // the result set will be empty\n this.iterator(true, 'table', function (ctx) {\n if (ctx._buttons) {\n var insts = _Buttons.instanceSelector(groupSelector, ctx._buttons);\n for (var i = 0, ien = insts.length; i < ien; i++) {\n jq = jq.add(insts[i].container());\n }\n }\n });\n return jq;\n });\n DataTable.Api.register('buttons().container()', function () {\n // API level of nesting is `buttons()` so we can zip into the containers method\n return this.containers().eq(0);\n });\n\n // Add a new button\n DataTable.Api.register('button().add()', function (idx, conf, draw) {\n var ctx = this.context;\n var api = new DataTable.Api(ctx);\n\n // Don't use `this` as it could be empty - select the instances directly\n if (ctx.length) {\n var inst = _Buttons.instanceSelector(this._groupSelector, ctx[0]._buttons);\n if (inst.length) {\n inst[0].add(conf, idx, draw);\n // Nuevo botón al contextMenu\n _updateContextMenu(this[0].inst.s.buttons, api, ctx[0]);\n }\n }\n return this.button(this._groupSelector, idx);\n });\n\n // Destroy the button sets selected\n DataTable.Api.register('buttons().destroy()', function () {\n this.pluck('inst').unique().each(function (inst) {\n inst.destroy();\n });\n return this;\n });\n\n // Remove a button\n DataTable.Api.registerPlural('buttons().remove()', 'buttons().remove()', function () {\n this.each(function (set) {\n set.inst.remove(set.node);\n });\n return this;\n });\n\n // Information box that can be used by buttons\n var _infoTimer;\n DataTable.Api.register('buttons.info()', function (title, message, time) {\n var that = this;\n if (title === false) {\n this.off('destroy.btn-info');\n _fadeOut($('#table_buttons_info'), 400, function () {\n $(this).remove();\n });\n _infoTimer = null;\n return this;\n }\n if (_infoTimer) {\n clearTimeout(_infoTimer);\n }\n if ($('#table_buttons_info').length) {\n $('#table_buttons_info').remove();\n }\n title = title ? '

              ' + title + '

              ' : '';\n _fadeIn($('
              ').html(title).append($('
              ')[typeof message === 'string' ? 'html' : 'append'](message)).css('display', 'none').appendTo('body'));\n if (time !== undefined && time !== 0) {\n _infoTimer = setTimeout(function () {\n that.buttons.info(false);\n }, time);\n }\n return this;\n });\n\n // Get data from the table for export - this is common to a number of plug-in\n // buttons so it is included in the Buttons core library\n DataTable.Api.register('buttons.exportData()', function (options) {\n if (this.context.length) {\n return _exportData(new DataTable.Api(this.context[0]), options);\n }\n });\n\n // Get information about the export that is common to many of the export data\n // types (DRY)\n DataTable.Api.register('buttons.exportInfo()', function (conf) {\n if (!conf) {\n conf = {};\n }\n return {\n filename: _filename(conf),\n title: _title(conf),\n messageTop: _message(this, conf.message || conf.messageTop, 'top'),\n messageBottom: _message(this, conf.messageBottom, 'bottom')\n };\n });\n\n // Gestiona las acciones de los botones\n DataTable.Api.register('buttons.actions()', function (dt, config) {\n var ctx = dt.settings()[0];\n // Añade aquí las funciones de tus botones\n switch (config.type) {\n case 'add':\n ctx.oInit.buttons.myLastAction = 'add';\n if (ctx.oInit.formEdit !== undefined) {\n $.when(DataTable.Api().editForm.loadSaveDialogForm(ctx, 'POST')).then(function () {\n var idTableDetail = ctx.oInit.formEdit.detailForm;\n // Limpiamos el formulario\n if ($(idTableDetail).find('form')[0] !== undefined) {\n $(idTableDetail).find('form')[0].reset();\n jQuery.each($('select.rup_select', $(idTableDetail)), function (index, elem) {\n jQuery(elem).rup_select('refresh');\n });\n if (ctx.multiselection.numSelected > 0) {\n $.rup_messages('msgConfirm', {\n message: $.rup.i18nParse($.rup.i18n.base, 'rup_table.checkSelectedElems'),\n title: $.rup.i18nParse($.rup.i18n.base, 'rup_table.changes'),\n OKFunction: function OKFunction() {\n // Abrimos el formulario\n if (ctx.oInit.seeker !== undefined && ctx.oInit.seeker.activate) {\n DataTable.Api().seeker.limpiarSeeker(dt, ctx); // Y deselecionamos los checks y seekers\n } else {\n if (ctx.oInit.multiSelect !== undefined) {\n DataTable.Api().multiSelect.deselectAll(dt); // Y deselecionamos los checks y seekers\n } else if (ctx.oInit.select !== undefined) {\n DataTable.Api().select.deselect(ctx); // Y deselecionamos los checks y seekers\n }\n }\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAddActionConfirmed', ctx);\n DataTable.Api().editForm.openSaveDialog('POST', dt, null, ctx.oInit.formEdit.customTitle);\n }\n });\n } else {\n DataTable.Api().editForm.openSaveDialog('POST', dt, null, ctx.oInit.formEdit.customTitle);\n }\n } else {\n $.rup_messages('msgError', {\n title: 'Error grave',\n message: '

              Falta definir \"detailForm\" en la inicialización de la tabla.

              '\n });\n }\n });\n } else {\n //edicion en linea\n ctx.oInit.inlineEdit.currentPos = undefined;\n DataTable.Api().inlineEdit.add(dt, ctx);\n }\n break;\n case 'edit':\n // Abrimos el formulario\n ctx.oInit.buttons.myLastAction = 'edit';\n if (ctx.oInit.formEdit !== undefined) {\n // Se busca el idRow con el último seleccionado. En caso de no existir, será el primero.\n $.when(DataTable.Api().editForm.getRowSelected(dt, 'PUT')).then(function (rowInfo) {\n if (ctx.oInit.formEdit.$navigationBar === undefined || ctx.oInit.formEdit.$navigationBar.funcionParams === undefined || ctx.oInit.formEdit.$navigationBar.funcionParams[4] === undefined || dt.page() + 1 === Number(ctx.oInit.formEdit.$navigationBar.funcionParams[4])) {\n DataTable.Api().editForm.openSaveDialog('PUT', dt, rowInfo.line, ctx.oInit.formEdit.customTitle);\n }\n });\n } else {\n //edicion en linea\n ctx.oInit.inlineEdit.currentPos = undefined;\n ctx.oInit.inlineEdit.alta = undefined;\n var idRowInline = DataTable.Api().inlineEdit.getRowSelected(dt, 'PUT').line;\n }\n break;\n case 'clone':\n ctx.oInit.buttons.myLastAction = 'clone';\n // Abrimos el formulario\n if (ctx.oInit.formEdit !== undefined) {\n // Se busca el idRow con el último seleccionado. En caso de no existir, será el primero.\n $.when(DataTable.Api().editForm.getRowSelected(dt, 'CLONE')).then(function (rowInfo) {\n DataTable.Api().editForm.openSaveDialog('CLONE', dt, rowInfo.line, ctx.oInit.formEdit.customTitle);\n });\n } else {\n //edicion en linea\n ctx.oInit.inlineEdit.alta = true;\n ctx.oInit.inlineEdit.currentPos = undefined;\n var idRowInline = DataTable.Api().inlineEdit.getRowSelected(dt, 'CLONE').line;\n }\n break;\n case 'delete':\n var customEliminar = ctx.oInit.validarEliminar;\n if (typeof customEliminar === \"function\" && customEliminar(ctx)) {\n return false;\n }\n ctx.oInit.buttons.myLastAction = 'delete';\n // borramos todos los seleccionados.\n if (!ctx.oInit.noEdit && ctx.oInit.formEdit !== undefined) {\n DataTable.Api().editForm.deleteAllSelects(dt);\n } else if (!ctx.oInit.noEdit && ctx.oInit.inlineEdit !== undefined) {\n //edicion en linea\n DataTable.Api().inlineEdit.deleteAllSelects(dt);\n } else {\n //Delete sin formulario\n _deleteAllSelects(dt);\n }\n break;\n }\n });\n\n // Detecta el numero de filas seleccionadas y en funcion de eso muestra u oculta los botones.\n DataTable.Api.register('buttons.displayRegex()', function (ctx) {\n if (ctx._buttons[0].inst.s.disableAllButtons === undefined) {\n var opts = ctx._buttons[0].inst.s.buttons;\n var collectionObject;\n $.each(opts, function (i) {\n collectionObject = null;\n var numOfSelectedRows = ctx.multiselection.numSelected;\n if (ctx.oInit.masterDetail !== undefined && this.conf.id === ctx.sTableId + 'addButton_1') {\n //si es maestro detalle para el boton add ,solo se renderiza cuando hay selección en el padre.\n var table = $(ctx.oInit.masterDetail.master).DataTable();\n numOfSelectedRows = table.context[0].multiselection.numSelected; //Nums del padre\n this.conf.displayRegex = /^[1-9][0-9]*$/; //se cambia expresion regular\n }\n _manageButtonsAndButtonsContextMenu(opts[i], numOfSelectedRows, collectionObject, ctx);\n // Comprueba si tiene botones hijos\n if (this.buttons.length > 0) {\n collectionObject = this;\n _manageButtonsAndButtonsContextMenu(opts[i], numOfSelectedRows, collectionObject, ctx);\n }\n });\n }\n });\n DataTable.Api.register('buttons.disableAllButtons()', function (ctx, exception) {\n var s = ctx._buttons[0].inst.s;\n $.each(s.buttons, function () {\n if (ctx.oInit.noEdit && exception !== undefined && !exception.includes(this.node.id)) {\n // Deshabilita permanentemente el botón (tanto de la toolbar como del contextMenu).\n this.conf.displayRegex = undefined;\n } else if (exception === undefined || !exception.includes(this.node.id)) {\n // Deshabilita el botón de la toolbar.\n $(this.node).prop('disabled', true);\n // Deshabilita el botón del contextMenu.\n $('#' + this.node.id + '_contextMenuToolbar').addClass('disabledButtonsTable');\n }\n });\n s.disableAllButtons = true;\n });\n DataTable.Api.register('buttons.initButtons()', function (ctx, opts) {\n _initButtons(ctx, opts);\n });\n DataTable.Api.register('buttons.deleteNotForm()', function (dt) {\n _deleteAllSelects(dt);\n });\n\n /**\r\n * Get the file name for an exported file.\r\n *\r\n * @name _filename\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object}\tconfig Button configuration\r\n * @param {boolean} incExtension Include the file name extension\r\n *\r\n */\n var _filename = function _filename(config) {\n // Backwards compatibility\n var filename = config.filename === '*' && config.title !== '*' && config.title !== undefined && config.title !== null && config.title !== '' ? config.title : config.filename;\n if (typeof filename === 'function') {\n filename = filename();\n }\n if (filename === undefined || filename === null) {\n return null;\n }\n if (filename.indexOf('*') !== -1) {\n filename = filename.replace('*', $('head > title').text()).trim();\n }\n\n // Strip characters which the OS will object to\n filename = filename.replace(/[^a-zA-Z0-9_\\u00A1-\\uFFFF\\.,\\-_ !\\(\\)]/g, '');\n var extension = _stringOrFunction(config.extension);\n if (!extension) {\n extension = '';\n }\n return filename + extension;\n };\n\n /**\r\n * Simply utility method to allow parameters to be given as a function\r\n *\r\n * @name _stringOrFunction\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {undefined|string|function} option Option\r\n *\r\n * @return {null|string} Resolved value\r\n *\r\n */\n var _stringOrFunction = function _stringOrFunction(option) {\n if (option === null || option === undefined) {\n return null;\n } else if (typeof option === 'function') {\n return option();\n }\n return option;\n };\n\n /**\r\n * Get the title for an exported file.\r\n *\r\n * @name _title\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} config\tButton configuration\r\n *\r\n */\n var _title = function _title(config) {\n var title = _stringOrFunction(config.title);\n return title === null ? null : title.indexOf('*') !== -1 ? title.replace('*', $('head > title').text() || 'Exported data') : title;\n };\n var _message = function _message(dt, option, position) {\n var message = _stringOrFunction(option);\n if (message === null) {\n return null;\n }\n var caption = $('caption', dt.table().container()).eq(0);\n if (message === '*') {\n var side = caption.css('caption-side');\n if (side !== position) {\n return null;\n }\n return caption.length ? caption.text() : '';\n }\n return message;\n };\n var _exportTextarea = $('')[0];\n var _exportData = function _exportData(dt, inOpts) {\n var config = $.extend(true, {}, {\n rows: null,\n columns: '',\n modifier: {\n search: 'applied',\n order: 'applied'\n },\n orthogonal: 'display',\n stripHtml: true,\n stripNewlines: true,\n decodeEntities: true,\n trim: true,\n format: {\n header: function header(d) {\n return _Buttons.stripData(d, config);\n },\n footer: function footer(d) {\n return _Buttons.stripData(d, config);\n },\n body: function body(d) {\n return _Buttons.stripData(d, config);\n }\n },\n customizeData: null\n }, inOpts);\n var header = dt.columns(config.columns).indexes().map(function (idx) {\n var el = dt.column(idx).header();\n return config.format.header(el.innerHTML, idx, el);\n }).toArray();\n var footer = dt.table().footer() ? dt.columns(config.columns).indexes().map(function (idx) {\n var el = dt.column(idx).footer();\n return config.format.footer(el ? el.innerHTML : '', idx, el);\n }).toArray() : null;\n\n // If Select is available on this table, and any rows are selected, limit the export\n // to the selected rows. If no rows are selected, all rows will be exported. Specify\n // a `selected` modifier to control directly.\n var modifier = $.extend({}, config.modifier);\n if (dt.select && typeof dt.select.info === 'function' && modifier.selected === undefined) {\n if (dt.rows(config.rows, $.extend({\n selected: true\n }, modifier)).any()) {\n $.extend(modifier, {\n selected: true\n });\n }\n }\n var rowIndexes = dt.rows(config.rows, modifier).indexes().toArray();\n var selectedCells = dt.cells(rowIndexes, config.columns);\n var cells = selectedCells.render(config.orthogonal).toArray();\n var cellNodes = selectedCells.nodes().toArray();\n var columns = header.length;\n var rows = columns > 0 ? cells.length / columns : 0;\n var body = [];\n var cellCounter = 0;\n for (var i = 0, ien = rows; i < ien; i++) {\n var row = [columns];\n for (var j = 0; j < columns; j++) {\n row[j] = config.format.body(cells[cellCounter], i, j, cellNodes[cellCounter]);\n cellCounter++;\n }\n body[i] = row;\n }\n var data = {\n header: header,\n footer: footer,\n body: body\n };\n if (config.customizeData) {\n config.customizeData(data);\n }\n return data;\n };\n\n /**\r\n * Activa la coleccion\r\n *\r\n * @name _enableCollection\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {string} id\tId of the button\r\n *\r\n */\n var _enableCollection = function _enableCollection(id) {\n $('#' + id).prop('disabled', false);\n };\n\n /**\r\n * Desactiva la coleccion\r\n *\r\n * @name _disableCollection\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {string} id\tId of the button\r\n *\r\n */\n var _disableCollection = function _disableCollection(id) {\n $('#' + id).prop('disabled', true);\n };\n\n /**\r\n * Activa el boton y su opcion dentro del context menu\r\n *\r\n * @name _enableButtonAndContextMenuOption\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {string} id\tId of the button\r\n *\r\n */\n var _enableButtonAndContextMenuOption = function _enableButtonAndContextMenuOption(id) {\n $('#' + id).prop('disabled', false);\n $('#' + id + '_contextMenuToolbar').removeClass('disabledButtonsTable');\n };\n\n /**\r\n * Desactiva el boton y su opcion dentro del context menu\r\n *\r\n * @name _disableButtonAndContextMenuOption\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {string} id\tId of the button\r\n *\r\n */\n var _disableButtonAndContextMenuOption = function _disableButtonAndContextMenuOption(id) {\n $('#' + id).prop('disabled', true);\n $('#' + id + '_contextMenuToolbar').addClass('disabledButtonsTable');\n };\n\n /**\r\n * Gestiona la propiedad de activado/desactivado de los botones y de sus opciones\r\n * dentro del context menu.\r\n *\r\n * @name _manageButtonsAndButtonsContextMenu\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} opts\tButtons properties\r\n * @param {int} numOfSelectedRows\tNumber of selected rows\r\n * @param {null|object} collectionObject\tCollection button properties\r\n *\r\n */\n var _manageButtonsAndButtonsContextMenu = function _manageButtonsAndButtonsContextMenu(opts, numOfSelectedRows, collectionObject, ctx) {\n if (opts.conf.custom === undefined || !opts.conf.custom) {\n // Si pertenece a un collection o es un collection\n if (opts.collection !== null && collectionObject) {\n var collectionId = collectionObject.conf.id;\n var collectionDisplayRegex = collectionObject.conf.displayRegex;\n var alreadyExecuted = false;\n // Recorre todos los botones dentro del collection\n $.each(collectionObject.buttons, function (key, value) {\n // Activa/desactiva en funcion de la propiedad 'displayRegex' del padre y los hijos\n if (collectionDisplayRegex !== undefined && value.conf.displayRegex !== undefined) {\n if (collectionDisplayRegex.test(numOfSelectedRows) && value.conf.displayRegex.test(numOfSelectedRows)) {\n _enableButtonAndContextMenuOption(value.conf.id);\n } else {\n _disableButtonAndContextMenuOption(value.conf.id);\n }\n }\n // Activa/desactiva en funcion de la propiedad 'displayRegex' de sus hijos\n else if (collectionDisplayRegex === undefined && value.conf.displayRegex !== undefined) {\n // Habilita la coleccion si cumple el regex (solo se ejecuta una vez como\n // maximo gracias al booleano 'alreadyExecuted')\n if (value.conf.displayRegex.test(numOfSelectedRows) && !alreadyExecuted) {\n _enableCollection(collectionId);\n alreadyExecuted = true;\n }\n // Habilita el boton si cumple el displayRegex\n if (value.conf.displayRegex.test(numOfSelectedRows)) {\n _enableButtonAndContextMenuOption(value.conf.id);\n }\n // Como este boton no cumple el 'displayRegex' para ser habilitado, se deshabilitan\n // tanto el boton como su opcion en el contextMenu\n else {\n _disableButtonAndContextMenuOption(value.conf.id);\n }\n // En caso de que ningun regex cumpliese, se fuerza la deshabilitacion\n if (!alreadyExecuted) {\n _disableCollection(collectionId);\n }\n }\n // Desactiva todo si ni el collection ni los hijos tienen la propiedad 'displayRegex'\n // o simplemente si los hijos no tienen la propiedad\n else {\n _disableButtonAndContextMenuOption(value.conf.id);\n if (!alreadyExecuted) {\n _disableCollection(collectionId);\n alreadyExecuted = true;\n }\n }\n });\n // Genera un evento encargado de ocultar los botones dentro del collection.\n // Se comprueba mediante una clase si ya tiene o no el evento, mejorando asi\n // el rendimiento\n $('#' + collectionId + ':not(.listening)').addClass('listening').on('click', function (e) {\n // Se establece el valor de 'numOfSelectedRows' porque sino siempre tendria\n // el valor recibido cuando se creo el evento\n var numOfSelectedRows = ctx.multiselection.numSelected;\n $.each(collectionObject.buttons, function (key, value) {\n // Habilita el boton dentro del collection\n if (value.conf.displayRegex.test(numOfSelectedRows)) {\n _enableButtonAndContextMenuOption(value.conf.id);\n }\n // Deshabilita el boton dentro del collection\n else {\n _disableButtonAndContextMenuOption(value.conf.id);\n }\n });\n });\n }\n // Si el boton no tiene un regex definido, permanecera siempre desactivado\n else if (opts.conf.displayRegex === undefined) {\n // Deshabilita el boton y su opcion dentro del context menu\n _disableButtonAndContextMenuOption(opts.conf.id);\n }\n // Si tiene un regex definido, lo activa y desactiva en funcion de este\n else if (opts.conf.displayRegex !== undefined) {\n // Si el regex recibido de cada boton cumple la sentencia al probarlo contra\n // el numero de filas seleccionadas, se mostrara, en caso contrario, permanecera\n // oculto\n if (opts.conf.displayRegex.test(numOfSelectedRows)) {\n // Habilita el boton y su opcion dentro del context menu\n _enableButtonAndContextMenuOption(opts.conf.id);\n } else {\n // Deshabilita el boton y su opcion dentro del context menu\n _disableButtonAndContextMenuOption(opts.conf.id);\n }\n }\n }\n };\n\n /**\r\n * Establece el tipo de llamada necesario para obtener los datos según lo seleccionado\r\n * e inicia la gestión para finalmente obtenerlos\r\n *\r\n * @name _reports\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} dt Instancia del table\r\n * @param {object} that Objeto del boton\r\n * @param {object} config Configuracion del boton\r\n *\r\n */\n var _reports = function _reports(dt, that, config) {\n var ctx = dt.settings()[0];\n var info = dt.buttons.exportInfo(config);\n var type;\n var multiselection = ctx.multiselection;\n var selectedAll = multiselection.selectedAll;\n var deselectedIds = multiselection.deselectedIds;\n if (selectedAll) {\n if (deselectedIds.length > 0) {\n // Este caso es para cuando se selecciona todo y despues se\n // deseleccionan algunos registros\n type = 'all-deselected';\n } else {\n // Este caso es para cuando se seleccionan todos los registros\n type = 'all';\n }\n } else if (multiselection.selectedIds.length > 0) {\n // Este caso para cuando hay determinados registros seleccionados manualmente\n type = 'selected';\n } else {\n // Este caso para cuando no hay registros seleccionados\n type = 'all';\n selectedAll = true;\n }\n $.when(_reportsTypeOfCopy(dt, type, config.request, multiselection, selectedAll, deselectedIds)).then(function (exportData, ajaxOptions) {\n // Si exportData cumple la siguiente condicion significa que los datos se van a copiar al portapapeles\n if (exportData !== undefined) {\n var exportDataRows = exportData.length;\n var exportDataParsed = JSON.stringify(exportData);\n var hiddenDiv = $('
              ').css({\n height: 1,\n width: 1,\n overflow: 'hidden',\n position: 'fixed',\n top: 0,\n left: 0\n });\n if (typeof ajaxOptions.data == 'string') {\n ajaxOptions.data = JSON.parse(ajaxOptions.data);\n }\n exportDataParsed = _convertToTabulador(ajaxOptions.reportsExportAllColumns, ajaxOptions.data.columns, exportDataParsed, true);\n var textarea = $('').val(exportDataParsed).appendTo(hiddenDiv);\n _reportsOpenMessage(dt, ctx, that, exportDataRows, hiddenDiv, textarea);\n } else {\n // Descargara un fichero\n _reportsRequestFile(ctx, ajaxOptions);\n }\n });\n };\n\n /**\r\n * Se encarga de mapear los datos de json a datos separados por el tabulador.\r\n *\r\n * @name ConvertToTabulador\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {boolean} reportsExportAllColumns true en caso de querer mostrar todas las columnas (incluidas las ocultas)\r\n * @param {object} columns Objeto que contiene las columnas a mostrar\r\n * @param {object} objArray Objeto que contiene los datos a exportar\r\n * @param {boolean} true en caso de querer que se mueste la cabecera\r\n *\r\n * @return {object}\r\n *\r\n */\n var _convertToTabulador = function _convertToTabulador(reportsExportAllColumns, columns, objArray, showLabel) {\n var array = _typeof(objArray) !== 'object' ? JSON.parse(objArray) : objArray;\n var separator = \";\";\n var str = '';\n var checkColumns = false;\n\n // Separador de campos dependiendo del idioma\n if ($.rup.lang === 'en') {\n separator = \",\";\n }\n if (!reportsExportAllColumns && columns != undefined) {\n checkColumns = true;\n }\n if (showLabel) {\n // Comprueba si solo se quieren mostrar las columnas definidas/visibles o todas\n if (checkColumns) {\n str = '\\\"' + columns.toString().replace(/,/g, '\\\"' + separator + '\\\"') + '\\\"\\r\\n';\n } else {\n var row = '';\n // Se asignan los nombres de las columnas\n $.each(array[0], function (key, value) {\n // Comprobar si es un objeto, en caso afirmativo lo recorremos y lo concatenamos\n if ($.isPlainObject(value)) {\n var objectName = key;\n $.each(this, function (key, value) {\n var keyToCamelKeys = key.substring(0, 1).toLocaleUpperCase() + key.substring(1);\n row += '\\\"' + objectName + keyToCamelKeys + '\\\"' + separator;\n });\n } else {\n row += '\\\"' + key + '\\\"' + separator;\n }\n });\n row = row.slice(0, -1);\n str += row + '\\r\\n';\n }\n }\n\n // Se asignan los valores\n $.each(array, function () {\n var line = '';\n $.each(this, function (key, value) {\n // Comprueba si solo se quieren mostrar los valores de las columnas definidas/visibles y evita la insercion de las no que no lo estan\n if (checkColumns && columns.indexOf(key) == -1) {\n return;\n }\n // Comprobar si es un objeto, en caso afirmativo lo recorremos y lo concatenamos\n if ($.isPlainObject(value)) {\n $.each(this, function (key, value) {\n line += '\\\"' + value + '\\\"' + separator;\n });\n } else {\n line += '\\\"' + value + '\\\"' + separator;\n }\n });\n line = line.slice(0, -1);\n str += line + '\\r\\n';\n });\n return str;\n };\n\n /**\r\n * Según el tipo de función de copia solicitada, realiza unas u otras comprobaciones\r\n * antes de solicitar los datos al servidor\r\n *\r\n * @name _reportsTypeOfCopy\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} dt Instancia del table\r\n * @param {string} type Tipo de funcion de copia a ejecutar\r\n * @param {object} request Contiene todos los parametros de la petición AJAX\r\n * @param {object} multiselection Propiedades de la multiseleccion\r\n * @param {boolean} selectedAll Cuando es true significa que todas las filas estan marcadas\r\n * @param {array} [deselectedIds] ID's de las filas deseleccionadas\r\n *\r\n * @return {object}\r\n *\r\n */\n var _reportsTypeOfCopy = function _reportsTypeOfCopy(dt, type, request, multiselection, selectedAll, deselectedIds) {\n var ctx = dt.settings()[0];\n var deferred = $.Deferred();\n var exportData;\n var selectedIds = multiselection.selectedIds;\n var selectedRows = multiselection.selectedRowsPerPage;\n var ajaxOptions = {};\n if (type === 'selected') {\n var _exportData2 = [];\n if (request.dataType === 'json') {\n var localAccess = true;\n\n // Comprueba si todos los valores seleccionados estan en la misma pagina\n $.each(selectedRows, function (key, value) {\n if (ctx.json.page != value.page) {\n localAccess = false;\n return false;\n }\n });\n if (localAccess) {\n // Puede acceder a los valores seleccionados localmente\n $.each(selectedRows, function (key, value) {\n var idPadre = value.id;\n $.each(ctx.json.rows, function (key, value) {\n if (DataTable.Api().rupTable.getIdPk(value) === idPadre) {\n _exportData2.push(value);\n }\n });\n });\n ajaxOptions.data = {};\n ajaxOptions.data.columns = _loadDefinedColums(dt, ctx, request);\n if (ctx.oInit.buttons.report !== undefined) {\n ajaxOptions.data.columnsName = ctx.oInit.buttons.report.columnsName;\n }\n ajaxOptions.reportsExportAllColumns = request.reportsExportAllColumns;\n deferred.resolve(_exportData2, ajaxOptions);\n return deferred.promise();\n }\n }\n }\n if (request.dataType === 'json') {\n // Accede a los datos mediante el servidor ya que se ha hecho uso de la paginacion\n // Parametros necesarios para configurar la llamada AJAX\n ajaxOptions = _reportsPrepareRequestData(dt, ajaxOptions, request, ctx, selectedAll, deselectedIds, selectedIds);\n $.when(_reportsRequestData(ajaxOptions, ctx)).then(function (data) {\n exportData = data;\n deferred.resolve(exportData, ajaxOptions);\n });\n } else {\n // Parametros necesarios para configurar la llamada AJAX\n ajaxOptions = _reportsPrepareRequestData(dt, ajaxOptions, request, ctx, selectedAll, deselectedIds, selectedIds);\n deferred.resolve(undefined, ajaxOptions);\n }\n return deferred.promise();\n };\n\n /**\r\n * Se encarga de generar las opciones de configuración con las que se llamara a la API\r\n *\r\n * @name _reportsPrepareRequestData\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} dt Instancia del table\r\n * @param {object} ajaxOptions Parametros de la llamada AJAX\r\n * @param {object} request Contiene todos los parametros de la petición ajax\r\n * @param {object} ctx Contexto\r\n * @param {boolean} selectedAll Cuando es true significa que todas las filas estan marcadas\r\n * @param {array} [deselectedIds] ID's de las filas deseleccionadas\r\n * @param {array} [selectedIds] ID's de las filas seleccionadas\r\n *\r\n * @return {object}\r\n *\r\n */\n var _reportsPrepareRequestData = function _reportsPrepareRequestData(dt, ajaxOptions, request, ctx, selectedAll, deselectedIds, selectedIds) {\n var data = {};\n data.columns = _loadDefinedColums(dt, ctx, request);\n if (ctx.oInit.buttons.report !== undefined) {\n data.columnsName = ctx.oInit.buttons.report.columnsName;\n }\n data.core = {\n 'pkToken': ctx.oInit.multiplePkToken,\n 'pkNames': ctx.oInit.primaryKey\n };\n\n // Solo se enviara el filtro si contiene algun valor. \n // Esto facilita la labor de exportacion al servidor ya que no tiene que iterar el filtro para comprobar si todos los campos son nulos.\n if (ctx.oInit.filter.$filterContainer != undefined && !jQuery.isEmptyObject(window.form2object(ctx.oInit.filter.$filterContainer[0]))) {\n data.filter = window.form2object(ctx.oInit.filter.$filterContainer[0]);\n }\n data.multiselection = {};\n data.multiselection.selectedAll = selectedAll;\n if (data.multiselection.selectedAll) {\n data.multiselection.selectedIds = deselectedIds;\n } else {\n data.multiselection.selectedIds = selectedIds;\n }\n\n // Añadimos los parámetros para la ordenación de resultados.\n $.each(ctx.oInit.order, function (iteration, value) {\n var pos = ctx.oInit.order[iteration][0];\n if (iteration == 0) {\n data.sord = ctx.oInit.order[iteration][1];\n } else {\n data.sord += ctx.oInit.order[iteration][1];\n }\n if (ctx.oInit.aoColumns[pos].sidx == null) {\n if (iteration == 0) {\n data.sidx = ctx.oInit.aoColumns[pos].data;\n } else {\n data.sidx += ctx.oInit.aoColumns[pos].data;\n }\n } else {\n if (iteration == 0) {\n data.sidx = ctx.oInit.aoColumns[pos].sidx;\n } else {\n data.sidx += ctx.oInit.aoColumns[pos].sidx;\n }\n }\n if (iteration < ctx.oInit.order.length - 1) {\n data.sord += \",\";\n data.sidx += \",\";\n }\n });\n\n //cambio\n data.reportsParams = [];\n // Se añaden los parametros definidos por el usuario (solo en caso de haber definido alguno)\n if (ctx.oInit.buttons.report !== undefined && ctx.oInit.buttons.report.reportsParams !== undefined && ctx.oInit.buttons.report.reportsParams.length > 0) {\n data.reportsParams = ctx.oInit.buttons.report.reportsParams;\n }\n\n // Completa el objeto 'ajaxOptions' con los parametros necesarios para la llamada que se realizara al servidor\n ajaxOptions.contentType = request.contentType;\n ajaxOptions.dataType = request.dataType;\n if (request.url !== undefined) {\n ajaxOptions.url = ctx.oInit.urlBase + request.url;\n } else {\n ajaxOptions.url = ctx.oInit.urlBase;\n }\n ajaxOptions.reportsExportAllColumns = request.reportsExportAllColumns;\n ajaxOptions.type = request.method;\n if (request.fileName !== undefined) {\n data.fileName = request.fileName;\n }\n if (request.sheetTitle !== undefined) {\n data.sheetTitle = request.sheetTitle;\n }\n ajaxOptions.data = $.toJSON(data);\n return ajaxOptions;\n };\n\n /**\r\n * Se encarga de devolver las columnas\r\n *\r\n * @name _loadDefinedColums\r\n * @function\r\n * @since UDA 4.2.0\r\n *\r\n * @param {object} dt Instancia del table\r\n * @param {object} ctx Contexto\r\n * @param {object} request Contiene todos los parametros de la petición AJAX\r\n *\r\n * @return {object}\r\n *\r\n */\n var _loadDefinedColums = function _loadDefinedColums(dt, ctx, request) {\n var columns = [];\n if (request.reportsExportAllColumns == undefined) {\n request.reportsExportAllColumns = ctx.ext.buttons.reportsButton.reportsExportAllColumns;\n }\n if (!request.reportsExportAllColumns) {\n // Se obtienen las columnas a mostrar definidas por el usuario\n if (ctx.oInit.buttons.report !== undefined && ctx.oInit.buttons.report.columns !== undefined) {\n columns = ctx.oInit.buttons.report.columns;\n } else {\n // En caso contrario se obtienen las columnas de la tabla\n $.each(ctx.oInit.columns, function (position, name) {\n // Se comprueba que el name.data no este vacio para evitar añadir\n // la columna del checkbox de multiseleccion. Tambien se comprueba\n // que la columna sea visible\n if (name.data !== \"\" && dt.column(position).visible()) {\n columns.push(name.data);\n }\n });\n }\n }\n return columns;\n };\n\n /**\r\n * Se encarga de llamar a la API y de devolver los datos recibidos\r\n *\r\n * @name _reportsRequestData\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} ajaxOptions Parametros de la llamada AJAX\r\n * @param {object} ctx Contexto\r\n *\r\n * @return {object}\r\n *\r\n */\n var _reportsRequestData = function _reportsRequestData(ajaxOptions, ctx) {\n var deferred = $.Deferred();\n $.ajax(ajaxOptions).done(function (data) {\n deferred.resolve(data);\n $('#' + ctx.sTableId).triggerHandler('tableButtonsSuccessReportsRequestData');\n }).complete(function () {\n $('#' + ctx.sTableId).triggerHandler('tableButtonsCompleteReportsRequestData');\n }).error(function () {\n $('#' + ctx.sTableId).triggerHandler('tableButtonsErrorReportsRequestData');\n });\n return deferred.promise();\n };\n\n /**\r\n * Se encarga de llamar a la API y de devolver el fichero recibido\r\n *\r\n * @name _reportsRequestFile\r\n * @function\r\n * @since UDA 4.2.0\r\n *\r\n * @param {object} ctx Contexto\r\n * @param {object} ajaxOptions Parametros de la llamada AJAX\r\n *\r\n * @return {object}\r\n *\r\n */\n var _reportsRequestFile = function _reportsRequestFile(ctx, ajaxOptions) {\n // Dialogo de espera\n var $reportFileWait = $('#' + ctx.sTableId + 'reportFileWait');\n $reportFileWait.rup_dialog({\n type: $.rup.dialog.TEXT,\n autoOpen: false,\n modal: true,\n resizable: false\n });\n\n // Titulo\n var title = $.rup.i18nParse($.rup.i18n.base, 'rup_report.waitTitle');\n var message = $.rup.i18nParse($.rup.i18n.base, 'rup_report.waitMsg');\n if (ctx.oInit.buttons.report !== undefined) {\n if (ctx.oInit.buttons.report.title !== undefined) {\n title = ctx.oInit.buttons.report.title;\n }\n if (ctx.oInit.buttons.report.message !== undefined) {\n message = ctx.oInit.buttons.report.message;\n }\n }\n $reportFileWait.rup_dialog('setOption', 'title', title);\n\n // Contenido\n var content = $reportFileWait.html().split($reportFileWait.text()),\n html = '';\n for (var i = 0; i < content.length; i++) {\n if (content[i] === '') {\n html += message;\n } else {\n html += content[i];\n }\n }\n $reportFileWait.html(html);\n $reportFileWait.rup_dialog('open');\n var url = ajaxOptions.url;\n\n // Lanzar peticion \n var request = new XMLHttpRequest();\n request.open(ajaxOptions.type, url, true);\n request.responseType = 'blob';\n request.send(ajaxOptions.data);\n request.onload = function (event) {\n if (this.status == 200) {\n var blob = request.response;\n var fileName = null;\n var contentType = request.getResponseHeader('content-type');\n var element;\n\n // Parece que IE y EDGE no devuelven la misma cabecera en la respuesta\n if (request.getResponseHeader('content-disposition')) {\n var contentDisposition = request.getResponseHeader('content-disposition');\n fileName = contentDisposition.substring(contentDisposition.indexOf('=') + 1);\n } else {\n fileName = 'report.' + contentType.substring(contentType.indexOf('/') + 1);\n }\n if (window.navigator.msSaveOrOpenBlob) {\n // IE y EDGE\n window.navigator.msSaveOrOpenBlob(blob, fileName);\n } else {\n // Para los demas navegadores\n if (!$('a#rupTableButtonsReportsExport').length) {\n $('#' + ctx.sTableId + 'rup_report_dialogsContainer').append(\"rupTableButtonsReportsExport\");\n }\n element = $('a#rupTableButtonsReportsExport')[0];\n element.href = window.URL.createObjectURL(blob);\n element.download = fileName;\n element.click();\n // Eliminamos el ObjectURL y el elemento de DOM generado ya que han sido generados de manera temporal\n window.URL.revokeObjectURL(element.href);\n element.remove();\n }\n if ($('#' + $reportFileWait.attr('id')).length > 0) {\n $reportFileWait.rup_dialog('close');\n }\n } else {\n if ($('#' + $reportFileWait.attr('id')).length > 0) {\n $reportFileWait.rup_dialog('close');\n console.info('----------- ERROR -----------');\n }\n }\n };\n request.send();\n return false;\n };\n\n /**\r\n * Gestiona la apertura/cierre del mensaje de confirmación de copia\r\n *\r\n * @name _reportsOpenMessage\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} dt Instancia del table\r\n * @param {object} ctx Contexto\r\n * @param {object} that Objeto del boton\r\n * @param {int} exportDataRows Numero de filas a ser exportadas\r\n * @param {object} hiddenDiv Elemento del DOM\r\n * @param {object} textarea Elemento del DOM\r\n *\r\n */\n var _reportsOpenMessage = function _reportsOpenMessage(dt, ctx, that, exportDataRows, hiddenDiv, textarea) {\n $.rup_messages('msgConfirm', {\n title: dt.i18n('rup_table.copyButton.changes', 'Copia de registros en clipboard'),\n message: dt.i18n('rup_table.copyButton.saveAndContinue', {\n _: '¿Desea copiar %d registros?',\n 1: '¿Desea copiar un registro?'\n }, exportDataRows),\n open: function open() {\n $('#' + dt.context[0].sTableId).trigger('rupTable_confirmMsgOpen');\n },\n OKFunction: function OKFunction() {\n if (ctx.oInit.formEdit !== undefined) {\n ctx.oInit.formEdit.okCallBack = true;\n }\n _reportsToClipboard(dt, that, exportDataRows, hiddenDiv, textarea);\n if (ctx.oInit.formEdit !== undefined && !ctx.oInit.formEdit.detailForm.hasClass('d-none')) {\n //si esta oculto, no hace falta\n ctx.oInit.formEdit.detailForm.rup_dialog('close');\n }\n },\n beforeClose: function beforeClose() {\n if (ctx.oInit.formEdit !== undefined) {\n ctx.oInit.formEdit.okCallBack = false;\n }\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (that.processing !== undefined) {\n that.processing(false);\n }\n }\n });\n };\n\n /**\r\n * Copia los datos recibidos al portapapeles\r\n *\r\n * @name _reportsToClipboard\r\n * @function\r\n * @since UDA 3.4.0\r\n *\r\n * @param {object} dt Instancia del table\r\n * @param {object} that Objeto del boton\r\n * @param {int} exportDataRows Numero de filas a ser exportadas\r\n * @param {object} hiddenDiv Elemento del DOM\r\n * @param {object} textarea Elemento del DOM\r\n *\r\n */\n var _reportsToClipboard = function _reportsToClipboard(dt, that, exportDataRows, hiddenDiv, textarea) {\n // Para los navegadores que soportan el comando de copia 'execCommand'\n if (document.queryCommandSupported('copy')) {\n hiddenDiv.appendTo(dt.table().container());\n textarea[0].focus();\n textarea[0].select();\n try {\n var successful = document.execCommand('copy');\n hiddenDiv.remove();\n if (successful) {\n dt.buttons.info(dt.i18n('rup_table.copyButton.changes', 'Copia de registros en portapapeles'), dt.i18n('rup_table.copyButton.saved', {\n _: 'Copiados %d registros al portapapeles',\n 1: 'Copiado un registro al portapapeles'\n }, exportDataRows), 2000);\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (that.processing !== undefined) {\n that.processing(false);\n }\n $('#' + dt.context[0].sTableId).trigger('rupTable_copied');\n return;\n }\n } catch (t) {}\n }\n\n // Si no soportan la copia mediante 'execCommand', se mostrara un text box\n // con las instrucciones de como copiar los elementos seleccionados\n var message = $('' + dt.i18n('rup_table.copyButton.copyKeys', 'Presiona ctrl o ⌘ + C para copiar los datos de la tabla al portapapeles.' + 'Para cancelar, haz click sobre este mensaje o pulsa el botón escape.') + '').append(hiddenDiv);\n dt.buttons.info(dt.i18n('rup_table.copyButton.copyTitle', 'Copiar al portapapeles'), message, 0);\n\n // Selecciona el texto para cuando el usuario accione la copia al portapapeles\n // se le pegue ese texto\n textarea[0].focus();\n textarea[0].select();\n\n // Evento que oculta el mensaje cuando el usuario ha terminado con la copia\n var container = $(message).closest('.dt-button-info');\n var close = function close() {\n container.off('click.buttons-copy');\n $(document).off('.buttons-copy');\n dt.buttons.info(false);\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (that.processing !== undefined) {\n that.processing(false);\n }\n };\n container.on('click.buttons-copy', close);\n $(document).on('keydown.buttons-copy', function (e) {\n if (e.keyCode === 27) {\n // esc\n close();\n }\n }).on('copy.buttons-copy cut.buttons-copy', function () {\n close();\n // Si es llamado desde el contextMenu este paso es innecesario y la condicion\n // del if evita un error\n if (that.processing !== undefined) {\n that.processing(false);\n }\n });\n };\n var _initContextMenu = function _initContextMenu(ctx, api) {\n // Creacion del Context Menu\n if (ctx.oInit.buttons !== undefined && ctx.oInit.contextMenuActivo == true) {\n var botonesToolbar = ctx._buttons[0].inst.s.buttons;\n _updateContextMenu(botonesToolbar, api, ctx);\n }\n };\n\n /**\r\n * Metodo que elimina todos los registros seleccionados.\r\n *\r\n * @name _deleteAllSelects\r\n * @function\r\n * @since UDA 4.2.0\r\n *\r\n * @param {object} dt - Es el objeto table.\r\n *\r\n */\n var _deleteAllSelects = function _deleteAllSelects(dt) {\n var ctx = dt.settings()[0];\n var idRow = 0;\n var regex = new RegExp(ctx.oInit.multiplePkToken, 'g');\n $.rup_messages('msgConfirm', {\n message: $.rup.i18nParse($.rup.i18n.base, 'rup_table.deleteAll'),\n title: $.rup.i18nParse($.rup.i18n.base, 'rup_table.delete'),\n OKFunction: function OKFunction() {\n var row = {};\n row.filter = window.form2object(ctx.oInit.filter.$filterContainer[0]);\n if (ctx.multiselection.selectedIds.length > 1) {\n row.core = {\n 'pkToken': ctx.oInit.multiplePkToken,\n 'pkNames': ctx.oInit.primaryKey\n };\n row.multiselection = {};\n row.multiselection.selectedAll = ctx.multiselection.selectedAll;\n if (row.multiselection.selectedAll) {\n row.multiselection.selectedIds = ctx.multiselection.deselectedIds;\n } else {\n row.multiselection.selectedIds = ctx.multiselection.selectedIds;\n }\n _callDelete('POST', dt, ctx, row, '/deleteAll');\n } else {\n row = ctx.multiselection.selectedIds[0];\n row = row.replace(regex, '/');\n _callDelete('DELETE', dt, ctx, idRow, '/' + row);\n }\n }\n });\n };\n var _callDelete = function _callDelete(actionType, dt, ctx, row, url) {\n $('#' + ctx.sTableId).triggerHandler('tableBeforeCallDelete');\n var _callFeedbackDelete = function _callFeedbackDelete(ctx, msgFeedBack, type) {\n $('#' + ctx.sTableId).triggerHandler('tableFeedbackShowDelete');\n ctx.oInit.feedback.$feedbackContainer.rup_feedback('set', msgFeedBack, type);\n ctx.oInit.feedback.$feedbackContainer.rup_feedback('show');\n };\n if (ctx.oInit.masterDetail !== undefined) {\n //Asegurar que se recoge el idPadre\n var masterPkObject = DataTable.Api().masterDetail.getMasterTablePkObject(ctx);\n jQuery.extend(true, masterPkObject, row);\n row = masterPkObject;\n }\n var msgFeedBack = $.rup.i18nParse($.rup.i18n.base, 'rup_table.deletedOK');\n var ajaxOptions = {\n url: ctx.oInit.urlBase + url,\n accepts: {\n '*': '*/*',\n 'html': 'text/html',\n 'json': 'application/json, text/javascript',\n 'script': 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript',\n 'text': 'text/plain',\n 'xml': 'application/xml, text/xml'\n },\n type: actionType,\n data: row,\n dataType: 'json',\n showLoading: false,\n contentType: 'application/json',\n async: true,\n success: function success() {\n // Eliminar\n if (ctx.oInit.multiSelect !== undefined) {\n DataTable.Api().multiSelect.deselectAll(dt);\n } else if (ctx.oInit.select !== undefined) {\n DataTable.Api().select.deselect(ctx);\n }\n $('#' + ctx.sTableId).triggerHandler('tablefterDelete');\n ctx._buttons[0].inst.s.disableAllButtons = undefined;\n DataTable.Api().seeker.disabledButtons(ctx);\n\n // Recargar datos\n // Primer parametro para mandar una funcion a ejecutar, segundo parametro bloquear la pagina si pones false\n dt.ajax.reload(function () {\n _callFeedbackDelete(ctx, msgFeedBack, 'ok');\n }, false);\n $('#' + ctx.sTableId).triggerHandler('tableSuccessCallDelete');\n },\n complete: function complete() {\n $('#' + ctx.sTableId).triggerHandler('tableCompleteCallDelete');\n },\n error: function error(xhr) {\n _callFeedbackDelete(ctx, xhr.responseText, 'error');\n $('#' + ctx.sTableId).triggerHandler('tableErrorCallDelete');\n },\n feedback: function feedback() {\n _callFeedbackDelete(ctx, msgFeedBack, 'ok');\n }\n };\n ajaxOptions.data = JSON.stringify(ajaxOptions.data);\n $.rup_ajax(ajaxOptions);\n };\n var _updateContextMenu = function _updateContextMenu(botones, api, ctx) {\n var items = {};\n var tableId = ctx.sTableId;\n $.each(botones, function () {\n // Entra si tiene marcada la opcion para habilitarlo dentro del contextMenu\n if (this.conf.insideContextMenu) {\n // Poblamos el objeto 'items' con los botones habilitados\n items[this.conf.id] = {\n id: this.conf.id + '_contextMenuToolbar',\n name: this.conf.text(api),\n icon: this.conf.icon,\n inCollection: this.inCollection,\n idCollection: undefined\n };\n }\n // Comprueba si tiene botones hijos\n if (this.buttons.length > 0) {\n var idCollection = this.conf.id;\n $.each(this.buttons, function (i) {\n // Entra si tiene marcada la opcion para habilitarlo dentro del contextMenu\n if (this.conf.insideContextMenu) {\n // Poblamos el objeto 'items' con los botones habilitados\n items[this.conf.id] = {\n id: this.conf.id + '_contextMenuToolbar',\n name: this.conf.text(api),\n icon: this.conf.icon,\n inCollection: this.inCollection,\n idCollection: idCollection\n };\n }\n });\n }\n });\n var tableTrSelector = '#' + tableId + ' > tbody > tr';\n var tableTr = $(tableTrSelector);\n tableTr.selector = tableTrSelector;\n if (!jQuery.isEmptyObject(items)) {\n tableTr.rup_contextMenu('destroy');\n tableTr.rup_contextMenu({\n selector: tableTrSelector,\n callback: function callback(key, options) {\n var selector = items[key];\n // Recogemos el id de la accion pulsada en el context menu\n var contextMenuActionId = selector.id;\n // Le quitamos la extension '_contextMenuToolbar' para tener asi\n // el id del boton que queremos accionar\n var buttonId = contextMenuActionId.replace('_contextMenuToolbar', '');\n // Variable que nos dira si esta dentro de una coleccion\n var inCollection = selector.inCollection;\n // Variable que almacena el id de la coleccion (si no pertenece a una\n // siempre sera 'undefined')\n var idCollection = selector.idCollection;\n // Comprobamos si existe el elemento con este id\n if (inCollection && idCollection !== undefined) {\n // Obtenemos la info necesaria del boton y la guardamos en variables\n var buttonName;\n var dt = $('#' + ctx.sTableId).DataTable();\n var eventConfig;\n $.each(ctx.ext.buttons, function (key) {\n var buttonObject = ctx.ext.buttons[key];\n if (buttonObject.id === buttonId) {\n buttonName = key;\n eventConfig = buttonObject;\n }\n });\n // Llamamos directamente al action para no hacer aparecer y desaparecer\n // el boton, empeorando la UX\n ctx.ext.buttons[buttonName].action(undefined, dt, undefined, eventConfig);\n } else {\n $('#' + buttonId).trigger('click');\n }\n },\n items: items\n });\n }\n };\n\n /**\r\n * Inicializa los botones\r\n *\r\n * @name _initButtons\r\n * @function\r\n * @since UDA 3.7.0\r\n *\r\n * @param {object} ctx - Settings object to operate on\r\n * @param {List} opts Lista de botones\r\n *\r\n */\n var _initButtons = function _initButtons(ctx, opts) {\n $.each(opts, function (i) {\n // Activa/desactiva los botones en el inicio en funcion de la propiedad\n // 'displayRegex' que tengan asociada\n var collectionObject = null;\n var numOfSelectedRows = ctx.multiselection.numSelected;\n if (ctx.oInit.masterDetail !== undefined && this.conf.id === ctx.sTableId + 'addButton_1') {\n //si es maestro detalle para el boton add ,solo se renderiza cuando hay selección en el padre.\n var table = $(ctx.oInit.masterDetail.master).DataTable();\n numOfSelectedRows = table.context[0].multiselection.numSelected; //Nums del padre\n this.conf.displayRegex = /^[1-9][0-9]*$/; //se cambia expresion regular\n }\n _manageButtonsAndButtonsContextMenu(opts[i], numOfSelectedRows, collectionObject, ctx);\n // Comprueba si tiene botones hijos\n if (this.buttons.length > 0) {\n collectionObject = this;\n _manageButtonsAndButtonsContextMenu(opts[i], numOfSelectedRows, collectionObject, ctx);\n }\n // Comprueba si tiene un icono asociado\n if (this.conf.icon !== undefined) {\n // Establece el icono de los botones\n if ($(this.node).find('i').length === 0) {\n $('#' + this.conf.id).prepend('');\n }\n\n // Comprueba si tiene botones hijos\n if (this.buttons.length > 0 && $('#' + this.conf.id).length > 0) {\n // Añadimos un evento para cuando se pulse sobre el boton padre, se le\n // asignen los iconos a los hijos\n $('#' + this.conf.id)[0].addEventListener('click', function eventHandler() {\n var that = this;\n $.each(opts[i].buttons, function (i) {\n var selectorCollection = $('#' + this.conf.id);\n\n // Establece el icono de los botones hijos\n if ($(this.node).find('i').length === 0) {\n selectorCollection.prepend('');\n }\n that.removeEventListener('click', eventHandler);\n });\n }, false);\n }\n }\n });\n\n //Añadir dialogo por defecto\n var $defaultDialog_wait = $('
              ').attr('id', ctx.sTableId + 'reportFileWait').attr('title', 'Tittle Prueba').text('prueba').addClass('rup_report').hide()\n //progressbar\n .append($('
              ').addClass('ui-progressbar ui-progressbar-value ui-corner-left ui-corner-right')),\n $defaultDialog_error = $('
              ').attr('id', ctx.sTableId + 'reportFileError').attr('title', 'Error').text('error').addClass('rup_report').hide(),\n $defaultDialog = $('
              ').attr('id', ctx.sTableId + 'rup_report_dialogsContainer').append($defaultDialog_wait).append($defaultDialog_error);\n $('#' + ctx.sTableId).after($defaultDialog);\n };\n\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * DataTables interface\r\n */\n\n // Attach to DataTables objects for global access\n $.fn.dataTable.Buttons = _Buttons;\n $.fn.DataTable.Buttons = _Buttons;\n function inicio(ctx) {\n var api = new DataTable.Api(ctx);\n var defaultButtons = api.init().buttons || DataTable.defaults.buttons;\n var numOfSelectedRows = ctx.multiselection.numSelected;\n var collectionObject;\n $('#' + ctx.sTableId).triggerHandler('tableButtonsBeforeToolbarInit');\n if ($('#' + ctx.sTableId + '_filter_form').length > 0) {\n new _Buttons(api, defaultButtons).container().insertBefore($('#' + ctx.sTableId + '_filter_form'));\n } else {\n new _Buttons(api, defaultButtons).container().insertBefore($('#' + ctx.sTableId + '_wrapper'));\n }\n var opts = ctx._buttons[0].inst.s.buttons;\n DataTable.Api().buttons.initButtons(ctx, opts);\n _initContextMenu(ctx, api);\n\n // Detecta cuando se selecciona o se deselecciona una fila en el table\n $('#' + ctx.sTableId).DataTable().on('select deselect contextmenu', function (event) {\n DataTable.Api().buttons.displayRegex(ctx);\n });\n\n // Si la edición está deshabilitada, se deshabilitan todos los botones menos el de informes.\n if (ctx.oInit.noEdit || ctx.oInit.formEdit === undefined && ctx.oInit.inlineEdit === undefined) {\n var exceptions;\n\n // Si existen botones personalizados, se excluyen.\n if (ctx.ext.buttons.custom.length > 0) {\n exceptions = ctx.ext.buttons.custom;\n exceptions.push(ctx.sTableId + 'informes_01');\n } else {\n exceptions = ctx.sTableId + 'informes_01';\n }\n DataTable.Api().buttons.disableAllButtons(ctx, exceptions);\n ctx._buttons[0].inst.s.disableAllButtons = undefined;\n DataTable.Api().buttons.displayRegex(ctx);\n }\n $('#' + ctx.sTableId).triggerHandler('tableButtonsAfterToolbarInit');\n }\n\n // DataTables creation - check if the buttons have been defined for this table,\n // they will have been if the `B` option was used in `dom`, otherwise we should\n // create the buttons instance here so they can be inserted into the document\n // using the API. Listen for `init` for compatibility with pre 1.10.10, but to\n // be removed in future.\n $(document).on('plugin-init.dt', function (e, ctx) {\n if (e.namespace !== 'dt') {\n return;\n }\n if (ctx.oInit.buttons !== undefined && ctx.oInit.buttons.activate !== false) {\n inicio(ctx);\n }\n });\n function _init(settings, options) {\n var api = new DataTable.Api(settings);\n var opts = options ? options : api.init().buttons || DataTable.defaults.buttons;\n return new _Buttons(api, opts).container();\n }\n\n // DataTables `dom` feature option\n DataTable.ext.feature.push({\n fnInit: _init,\n cFeature: 'B'\n });\n\n // DataTables 2 layout feature\n if (DataTable.ext.features) {\n DataTable.ext.features.register('buttons', _init);\n }\n return _Buttons;\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack://rup/./src/rup_table/rup.table.buttons.js?"); /***/ }), @@ -8828,7 +8828,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n/*! RowGroup 1.5.0\r\n * © SpryMedia Ltd - datatables.net/license\r\n */\n\n/**\r\n * @summary RowGroup\r\n * @description RowGrouping for DataTables\r\n * @module \"rup.table.rowGroup\"\r\n * @version 1.5.0\r\n * @author SpryMedia Ltd (www.sprymedia.co.uk)\r\n * @contact datatables.net\r\n * @copyright SpryMedia Ltd.\r\n *\r\n * This source file is free software, available under the following license:\r\n * MIT license - http://datatables.net/license/mit\r\n *\r\n * This source file is distributed in the hope that it will be useful, but\r\n * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r\n * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.\r\n *\r\n * For details please refer to: http://www.datatables.net\r\n */\n\n(function (factory) {\n if (true) {\n // AMD\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"), __webpack_require__(/*! datatables.net */ \"./node_modules/datatables.net/js/jquery.dataTables.mjs\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function ($) {\n return factory($, window, document);\n }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(function ($, window, document, undefined) {\n 'use strict';\n\n var DataTable = $.fn.dataTable;\n var RowGroup = function RowGroup(dt, opts) {\n // Sanity check that we are using DataTables 1.10 or newer\n if (!DataTable.versionCheck || !DataTable.versionCheck('1.11')) {\n throw 'RowGroup requires DataTables 1.11 or newer';\n }\n\n // User and defaults configuration object\n this.c = $.extend(true, {}, DataTable.defaults.rowGroup, RowGroup.defaults, opts);\n\n // Internal settings\n this.s = {\n dt: new DataTable.Api(dt)\n };\n\n // DOM items\n this.dom = {};\n\n // Check if row grouping has already been initialised on this table\n var settings = this.s.dt.settings()[0];\n var existing = settings.rowGroup;\n if (existing) {\n return existing;\n }\n settings.rowGroup = this;\n this._constructor();\n };\n $.extend(RowGroup.prototype, {\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * API methods for DataTables API interface\r\n */\n\n /**\r\n * Get/set the grouping data source - need to call draw after this is\r\n * executed as a setter\r\n * @returns string~RowGroup\r\n */\n dataSrc: function dataSrc(val) {\n if (val === undefined) {\n return this.c.dataSrc;\n }\n var dt = this.s.dt;\n this.c.dataSrc = val;\n $(dt.table().node()).triggerHandler('rowgroup-datasrc.dt', [dt, val]);\n return this;\n },\n /**\r\n * Disable - need to call draw after this is executed\r\n * @returns RowGroup\r\n */\n disable: function disable() {\n this.c.enable = false;\n return this;\n },\n /**\r\n * Enable - need to call draw after this is executed\r\n * @returns RowGroup\r\n */\n enable: function enable(flag) {\n if (flag === false) {\n return this.disable();\n }\n this.c.enable = true;\n return this;\n },\n /**\r\n * Get enabled flag\r\n * @returns boolean\r\n */\n enabled: function enabled() {\n return this.c.enable;\n },\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * Constructor\r\n */\n _constructor: function _constructor() {\n var that = this;\n var dt = this.s.dt;\n var hostSettings = dt.settings()[0];\n dt.on('draw.dtrg', function (e, s) {\n if (that.c.enable && hostSettings === s) {\n that._draw();\n }\n });\n dt.on('column-visibility.dt.dtrg responsive-resize.dt.dtrg', function () {\n that._adjustColspan();\n });\n dt.on('destroy', function () {\n dt.off('.dtrg');\n });\n },\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * Private methods\r\n */\n\n /**\r\n * Adjust column span when column visibility changes\r\n * @private\r\n */\n _adjustColspan: function _adjustColspan() {\n $('tr.' + this.c.className, this.s.dt.table().body()).find('th:visible, td:visible').attr('colspan', this._colspan());\n },\n /**\r\n * Get the number of columns that a grouping row should span\r\n * @private\r\n */\n _colspan: function _colspan() {\n return this.s.dt.columns().visible().reduce(function (a, b) {\n return a + b;\n }, 0);\n },\n /**\r\n * Update function that is called whenever we need to draw the grouping rows.\r\n * This is basically a bootstrap for the self iterative _group and _groupDisplay\r\n * methods\r\n * @private\r\n */\n _draw: function _draw() {\n var dt = this.s.dt;\n var groupedRows = this._group(0, dt.rows({\n page: 'current'\n }).indexes());\n this._groupDisplay(0, groupedRows);\n },\n /**\r\n * Get the grouping information from a data set (index) of rows\r\n * @param {number} level Nesting level\r\n * @param {DataTables.Api} rows API of the rows to consider for this group\r\n * @returns {object[]} Nested grouping information - it is structured like this:\r\n *\t{\r\n *\t\tdataPoint: 'Edinburgh',\r\n *\t\trows: [ 1,2,3,4,5,6,7 ],\r\n *\t\tchildren: [ {\r\n *\t\t\tdataPoint: 'developer'\r\n *\t\t\trows: [ 1, 2, 3 ]\r\n *\t\t},\r\n *\t\t{\r\n *\t\t\tdataPoint: 'support',\r\n *\t\t\trows: [ 4, 5, 6, 7 ]\r\n *\t\t} ]\r\n *\t}\r\n * @private\r\n */\n _group: function _group(level, rows) {\n var fns = Array.isArray(this.c.dataSrc) ? this.c.dataSrc : [this.c.dataSrc];\n var fn = DataTable.util.get(fns[level]);\n var dt = this.s.dt;\n var group, last;\n var i, ien;\n var data = [];\n var that = this;\n for (i = 0, ien = rows.length; i < ien; i++) {\n var rowIndex = rows[i];\n var rowData = dt.row(rowIndex).data();\n group = fn(rowData, level);\n if (group === null || group === undefined) {\n group = that.c.emptyDataGroup;\n }\n if (last === undefined || group !== last) {\n data.push({\n dataPoint: group,\n rows: []\n });\n last = group;\n }\n data[data.length - 1].rows.push(rowIndex);\n }\n if (fns[level + 1] !== undefined) {\n for (i = 0, ien = data.length; i < ien; i++) {\n data[i].children = this._group(level + 1, data[i].rows);\n }\n }\n return data;\n },\n /**\r\n * Row group display - insert the rows into the document\r\n * @param {number} level Nesting level\r\n * @param {object[]} groups Takes the nested array from `_group`\r\n * @private\r\n */\n _groupDisplay: function _groupDisplay(level, groups) {\n var dt = this.s.dt;\n var ctx = dt.context[0];\n var display;\n for (var i = 0, ien = groups.length; i < ien; i++) {\n var group = groups[i];\n var groupName = group.dataPoint;\n var row;\n var rows = group.rows;\n var span = $('').addClass('ui-icon tree-wrap-ltr ui-icon-circlesmall-minus');\n span.attr('identificador', i);\n if (this.c.startRender) {\n display = this.c.startRender.call(this, dt.rows(rows), groupName, level);\n row = this._rowWrap(display, this.c.startClassName, level);\n if (row) {\n row.insertBefore(dt.row(rows[0]).node());\n $('td', row).prepend(span);\n row.click(function () {\n var span = $(this).find('span')[0];\n var position = Number(span.getAttribute(\"identificador\"));\n if ($(span).hasClass('ui-icon-circlesmall-minus')) {\n DataTable.Api().rowGroup().collapse(ctx, position, span, \"next\");\n } else {\n DataTable.Api().rowGroup().expand(ctx, position, span, \"next\");\n }\n });\n }\n }\n if (this.c.endRender) {\n display = this.c.endRender.call(this, dt.rows(rows), groupName, level);\n row = this._rowWrap(display, this.c.endClassName, level);\n if (row) {\n row.insertAfter(dt.row(rows[rows.length - 1]).node());\n $('td', row).prepend(span);\n row.click(function () {\n var span = $(this).find('span')[0];\n var position = Number(span.getAttribute(\"identificador\"));\n if ($(span).hasClass('ui-icon-circlesmall-minus')) {\n DataTable.Api().rowGroup().collapse(ctx, position, span, \"prev\");\n } else {\n DataTable.Api().rowGroup().expand(ctx, position, span, \"prev\");\n }\n });\n }\n }\n if (group.children) {\n this._groupDisplay(level + 1, group.children);\n }\n }\n if (ctx.oInit.rowGroup.hiddenDefault) {\n DataTable.Api().rowGroup().collapse(ctx);\n }\n },\n /**\r\n * Take a rendered value from an end user and make it suitable for display\r\n * as a row, by wrapping it in a row, or detecting that it is a row.\r\n * @param {node|jQuery|string} display Display value\r\n * @param {string} className Class to add to the row\r\n * @param {array} group\r\n * @param {number} group level\r\n * @private\r\n */\n _rowWrap: function _rowWrap(display, className, level) {\n var row;\n if (display === null || display === '') {\n display = this.c.emptyDataGroup;\n }\n if (display === undefined || display === null) {\n return null;\n }\n if (_typeof(display) === 'object' && display.nodeName && display.nodeName.toLowerCase() === 'tr') {\n row = $(display);\n } else if (display instanceof $ && display.length && display[0].nodeName.toLowerCase() === 'tr') {\n row = display;\n } else {\n row = $('').append($('').attr('colspan', this._colspan()).attr('scope', 'row').append(display));\n }\n return row.addClass(this.c.className).addClass(className).addClass('dtrg-level-' + level);\n },\n /*\r\n * Get the rows of a group.\r\n * @param [object] group Group parent row\r\n * @param [string] direction Sets the direction in which elements will be selected\r\n * @private \r\n */\n _getRowsByGroup: function _getRowsByGroup(group, direction) {\n var rows = [];\n if (direction === \"prev\") {\n $.each(group.prevAll(), function () {\n if ($(this).hasClass(\"dtrg-group\")) {\n return false;\n }\n rows.push(this);\n });\n } else {\n $.each(group.nextAll(), function () {\n if ($(this).hasClass(\"dtrg-group\")) {\n return false;\n }\n rows.push(this);\n });\n }\n return rows;\n }\n });\n\n /**\r\n * RowGroup default settings for initialisation\r\n *\r\n * @namespace\r\n * @name RowGroup.defaults\r\n * @static\r\n */\n RowGroup.defaults = {\n /**\r\n * Class to apply to grouping rows - applied to both the start and\r\n * end grouping rows.\r\n * @type string\r\n */\n className: 'cursor_pointer dtrg-group',\n /**\r\n * Data property from which to read the grouping information\r\n * @type string|integer|array\r\n */\n dataSrc: 0,\n /**\r\n * Text to show if no data is found for a group\r\n * @type string\r\n */\n emptyDataGroup: 'No group',\n /**\r\n * Initial enablement state\r\n * @boolean\r\n */\n enable: true,\n /**\r\n * Class name to give to the end grouping row\r\n * @type string\r\n */\n endClassName: 'dtrg-end',\n /**\r\n * End grouping label function\r\n * @function\r\n */\n endRender: null,\n /**\r\n * Class name to give to the start grouping row\r\n * @type string\r\n */\n startClassName: 'dtrg-start',\n /**\r\n * Start grouping label function\r\n * @function\r\n */\n startRender: function startRender(rows, group) {\n return group;\n }\n };\n RowGroup.version = '1.5.0';\n $.fn.dataTable.RowGroup = RowGroup;\n $.fn.DataTable.RowGroup = RowGroup;\n DataTable.Api.register('rowGroup()', function () {\n return this;\n });\n DataTable.Api.register('rowGroup().disable()', function () {\n return this.iterator('table', function (ctx) {\n if (ctx.rowGroup) {\n ctx.rowGroup.enable(false);\n }\n });\n });\n DataTable.Api.register('rowGroup().enable()', function (opts) {\n return this.iterator('table', function (ctx) {\n if (ctx.rowGroup) {\n ctx.rowGroup.enable(opts === undefined ? true : opts);\n }\n });\n });\n DataTable.Api.register('rowGroup().enabled()', function () {\n var ctx = this.context;\n return ctx.length && ctx[0].rowGroup ? ctx[0].rowGroup.enabled() : false;\n });\n DataTable.Api.register('rowGroup().dataSrc()', function (val) {\n if (val === undefined) {\n return this.context[0].rowGroup.dataSrc();\n }\n return this.iterator('table', function (ctx) {\n if (ctx.rowGroup) {\n ctx.rowGroup.dataSrc(val);\n }\n });\n });\n DataTable.Api.register('rowGroup().expand()', function (ctx, position, span, direction) {\n // Si es undefined es que quiere expandir todos\n if (position === undefined) {\n var selectorRowPadre = $(ctx.nTBody).find(\"tr.dtrg-group span\");\n $(ctx.nTBody).find(\"tr:not(.dtrg-group)\").show();\n selectorRowPadre.addClass('ui-icon-circlesmall-minus');\n selectorRowPadre.removeClass('ui-icon-circlesmall-plus');\n } else {\n if (span === undefined) {\n span = $(ctx.nTBody).find(\"[identificador=\" + position + \"]\")[0];\n }\n var rows = ctx.rowGroup._getRowsByGroup($(span.parentNode.parentElement), direction);\n $.each(rows, function () {\n $(this).show();\n });\n $(span).addClass('ui-icon-circlesmall-minus');\n $(span).removeClass('ui-icon-circlesmall-plus');\n $(span).triggerHandler('tablaGroupingClickGroupExpand', ctx);\n }\n });\n DataTable.Api.register('rowGroup().collapse()', function (ctx, position, span, direction) {\n // Si es undefined es que quiere colapsar todos\n if (position === undefined) {\n var selectorRowPadre = $(ctx.nTBody).find(\"tr.dtrg-group span\");\n $(ctx.nTBody).find(\"tr:not(.dtrg-group)\").hide();\n selectorRowPadre.addClass('ui-icon-circlesmall-plus');\n selectorRowPadre.removeClass('ui-icon-circlesmall-minus');\n } else {\n if (span === undefined) {\n span = $(ctx.nTBody).find(\"[identificador=\" + position + \"]\")[0];\n }\n var rows = ctx.rowGroup._getRowsByGroup($(span.parentNode.parentElement), direction);\n $.each(rows, function () {\n $(this).hide();\n });\n $(span).addClass('ui-icon-circlesmall-plus');\n $(span).removeClass('ui-icon-circlesmall-minus');\n $(span).triggerHandler('tablaGroupingClickGroup', ctx);\n }\n });\n\n // Attach a listener to the document which listens for DataTables initialisation\n // events so we can automatically initialise\n $(document).on('preInit.dt.dtrg', function (e, settings, json) {\n if (e.namespace !== 'dt') {\n return;\n }\n var init = settings.oInit.rowGroup;\n var defaults = DataTable.defaults.rowGroup;\n if (init || defaults) {\n var opts = $.extend({}, defaults, init);\n if (init !== false) {\n new RowGroup(settings, opts);\n }\n }\n });\n return RowGroup;\n});\n\n//# sourceURL=webpack://rup/./src/rup_table/rup.table.rowGroup.js?"); +eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n/*! RowGroup 1.5.0\r\n * © SpryMedia Ltd - datatables.net/license\r\n */\n\n/**\r\n * @summary RowGroup\r\n * @description RowGrouping for DataTables\r\n * @module \"rup.table.rowGroup\"\r\n * @version 1.5.0\r\n * @author SpryMedia Ltd (www.sprymedia.co.uk)\r\n * @contact datatables.net\r\n * @copyright SpryMedia Ltd.\r\n *\r\n * This source file is free software, available under the following license:\r\n * MIT license - http://datatables.net/license/mit\r\n *\r\n * This source file is distributed in the hope that it will be useful, but\r\n * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r\n * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.\r\n *\r\n * For details please refer to: http://www.datatables.net\r\n */\n\n(function (factory) {\n if (true) {\n // AMD\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"), __webpack_require__(/*! datatables.net */ \"./node_modules/datatables.net/js/jquery.dataTables.mjs\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function ($) {\n return factory($, window, document);\n }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(function ($, window, document, undefined) {\n 'use strict';\n\n var DataTable = $.fn.dataTable;\n var _RowGroup = function RowGroup(dt, opts) {\n // Sanity check that we are using DataTables 1.10 or newer\n if (!DataTable.versionCheck || !DataTable.versionCheck('1.11')) {\n throw 'RowGroup requires DataTables 1.11 or newer';\n }\n\n // User and defaults configuration object\n this.c = $.extend(true, {}, DataTable.defaults.rowGroup, _RowGroup.defaults, opts);\n\n // Internal settings\n this.s = {\n dt: new DataTable.Api(dt)\n };\n\n // DOM items\n this.dom = {};\n\n // Check if row grouping has already been initialised on this table\n var settings = this.s.dt.settings()[0];\n var existing = settings.rowGroup;\n if (existing) {\n return existing;\n }\n settings.rowGroup = this;\n this._constructor();\n };\n $.extend(_RowGroup.prototype, {\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * API methods for DataTables API interface\r\n */\n\n /**\r\n * Get/set the grouping data source - need to call draw after this is\r\n * executed as a setter\r\n * @returns string~RowGroup\r\n */\n dataSrc: function dataSrc(val) {\n if (val === undefined) {\n return this.c.dataSrc;\n }\n var dt = this.s.dt;\n this.c.dataSrc = val;\n $(dt.table().node()).triggerHandler('rowgroup-datasrc.dt', [dt, val]);\n return this;\n },\n /**\r\n * Disable - need to call draw after this is executed\r\n * @returns RowGroup\r\n */\n disable: function disable() {\n this.c.enable = false;\n return this;\n },\n /**\r\n * Enable - need to call draw after this is executed\r\n * @returns RowGroup\r\n */\n enable: function enable(flag) {\n if (flag === false) {\n return this.disable();\n }\n this.c.enable = true;\n return this;\n },\n /**\r\n * Get enabled flag\r\n * @returns boolean\r\n */\n enabled: function enabled() {\n return this.c.enable;\n },\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * Constructor\r\n */\n _constructor: function _constructor() {\n var that = this;\n var dt = this.s.dt;\n var hostSettings = dt.settings()[0];\n dt.on('draw.dtrg', function (e, s) {\n if (that.c.enable && hostSettings === s) {\n that._draw();\n }\n });\n dt.on('column-visibility.dt.dtrg responsive-resize.dt.dtrg', function () {\n that._adjustColspan();\n });\n dt.on('destroy', function () {\n dt.off('.dtrg');\n });\n },\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n * Private methods\r\n */\n\n /**\r\n * Adjust column span when column visibility changes\r\n * @private\r\n */\n _adjustColspan: function _adjustColspan() {\n $('tr.' + this.c.className, this.s.dt.table().body()).find('th:visible, td:visible').attr('colspan', this._colspan());\n },\n /**\r\n * Get the number of columns that a grouping row should span\r\n * @private\r\n */\n _colspan: function _colspan() {\n return this.s.dt.columns().visible().reduce(function (a, b) {\n return a + b;\n }, 0);\n },\n /**\r\n * Update function that is called whenever we need to draw the grouping rows.\r\n * This is basically a bootstrap for the self iterative _group and _groupDisplay\r\n * methods\r\n * @private\r\n */\n _draw: function _draw() {\n var dt = this.s.dt;\n var groupedRows = this._group(0, dt.rows({\n page: 'current'\n }).indexes());\n this._groupDisplay(0, groupedRows);\n },\n /**\r\n * Get the grouping information from a data set (index) of rows\r\n * @param {number} level Nesting level\r\n * @param {DataTables.Api} rows API of the rows to consider for this group\r\n * @returns {object[]} Nested grouping information - it is structured like this:\r\n *\t{\r\n *\t\tdataPoint: 'Edinburgh',\r\n *\t\trows: [ 1,2,3,4,5,6,7 ],\r\n *\t\tchildren: [ {\r\n *\t\t\tdataPoint: 'developer'\r\n *\t\t\trows: [ 1, 2, 3 ]\r\n *\t\t},\r\n *\t\t{\r\n *\t\t\tdataPoint: 'support',\r\n *\t\t\trows: [ 4, 5, 6, 7 ]\r\n *\t\t} ]\r\n *\t}\r\n * @private\r\n */\n _group: function _group(level, rows) {\n var fns = Array.isArray(this.c.dataSrc) ? this.c.dataSrc : [this.c.dataSrc];\n var fn = DataTable.util.get(fns[level]);\n var dt = this.s.dt;\n var group, last;\n var i, ien;\n var data = [];\n var that = this;\n for (i = 0, ien = rows.length; i < ien; i++) {\n var rowIndex = rows[i];\n var rowData = dt.row(rowIndex).data();\n group = fn(rowData, level);\n if (group === null || group === undefined) {\n group = that.c.emptyDataGroup;\n }\n if (last === undefined || group !== last) {\n data.push({\n dataPoint: group,\n rows: []\n });\n last = group;\n }\n data[data.length - 1].rows.push(rowIndex);\n }\n if (fns[level + 1] !== undefined) {\n for (i = 0, ien = data.length; i < ien; i++) {\n data[i].children = this._group(level + 1, data[i].rows);\n }\n }\n return data;\n },\n /**\r\n * Row group display - insert the rows into the document\r\n * @param {number} level Nesting level\r\n * @param {object[]} groups Takes the nested array from `_group`\r\n * @private\r\n */\n _groupDisplay: function _groupDisplay(level, groups) {\n var dt = this.s.dt;\n var ctx = dt.context[0];\n var display;\n for (var i = 0, ien = groups.length; i < ien; i++) {\n var group = groups[i];\n var groupName = group.dataPoint;\n var row;\n var rows = group.rows;\n var span = $('').addClass('ui-icon tree-wrap-ltr ui-icon-circlesmall-minus');\n span.attr('identificador', i);\n if (this.c.startRender) {\n display = this.c.startRender.call(this, dt.rows(rows), groupName, level);\n row = this._rowWrap(display, this.c.startClassName, level);\n if (row) {\n row.insertBefore(dt.row(rows[0]).node());\n $('td', row).prepend(span);\n row.click(function () {\n var span = $(this).find('span')[0];\n var position = Number(span.getAttribute(\"identificador\"));\n if ($(span).hasClass('ui-icon-circlesmall-minus')) {\n DataTable.Api().rowGroup().collapse(ctx, position, span, \"next\");\n } else {\n DataTable.Api().rowGroup().expand(ctx, position, span, \"next\");\n }\n });\n }\n }\n if (this.c.endRender) {\n display = this.c.endRender.call(this, dt.rows(rows), groupName, level);\n row = this._rowWrap(display, this.c.endClassName, level);\n if (row) {\n row.insertAfter(dt.row(rows[rows.length - 1]).node());\n $('td', row).prepend(span);\n row.click(function () {\n var span = $(this).find('span')[0];\n var position = Number(span.getAttribute(\"identificador\"));\n if ($(span).hasClass('ui-icon-circlesmall-minus')) {\n DataTable.Api().rowGroup().collapse(ctx, position, span, \"prev\");\n } else {\n DataTable.Api().rowGroup().expand(ctx, position, span, \"prev\");\n }\n });\n }\n }\n if (group.children) {\n this._groupDisplay(level + 1, group.children);\n }\n }\n if (ctx.oInit.rowGroup.hiddenDefault) {\n DataTable.Api().rowGroup().collapse(ctx);\n }\n },\n /**\r\n * Take a rendered value from an end user and make it suitable for display\r\n * as a row, by wrapping it in a row, or detecting that it is a row.\r\n * @param {node|jQuery|string} display Display value\r\n * @param {string} className Class to add to the row\r\n * @param {array} group\r\n * @param {number} group level\r\n * @private\r\n */\n _rowWrap: function _rowWrap(display, className, level) {\n var row;\n if (display === null || display === '') {\n display = this.c.emptyDataGroup;\n }\n if (display === undefined || display === null) {\n return null;\n }\n if (_typeof(display) === 'object' && display.nodeName && display.nodeName.toLowerCase() === 'tr') {\n row = $(display);\n } else if (display instanceof $ && display.length && display[0].nodeName.toLowerCase() === 'tr') {\n row = display;\n } else {\n row = $('').append($('').attr('colspan', this._colspan()).attr('scope', 'row').append(display));\n }\n return row.addClass(this.c.className).addClass(className).addClass('dtrg-level-' + level);\n },\n /*\r\n * Get the rows of a group.\r\n * @param [object] group Group parent row\r\n * @param [string] direction Sets the direction in which elements will be selected\r\n * @private \r\n */\n _getRowsByGroup: function _getRowsByGroup(group, direction) {\n var rows = [];\n if (direction === \"prev\") {\n $.each(group.prevAll(), function () {\n if ($(this).hasClass(\"dtrg-group\")) {\n return false;\n }\n rows.push(this);\n });\n } else {\n $.each(group.nextAll(), function () {\n if ($(this).hasClass(\"dtrg-group\")) {\n return false;\n }\n rows.push(this);\n });\n }\n return rows;\n }\n });\n\n /**\r\n * RowGroup default settings for initialisation\r\n *\r\n * @namespace\r\n * @name RowGroup.defaults\r\n * @static\r\n */\n _RowGroup.defaults = {\n /**\r\n * Class to apply to grouping rows - applied to both the start and\r\n * end grouping rows.\r\n * @type string\r\n */\n className: 'cursor_pointer dtrg-group',\n /**\r\n * Data property from which to read the grouping information\r\n * @type string|integer|array\r\n */\n dataSrc: 0,\n /**\r\n * Text to show if no data is found for a group\r\n * @type string\r\n */\n emptyDataGroup: 'No group',\n /**\r\n * Initial enablement state\r\n * @boolean\r\n */\n enable: true,\n /**\r\n * Class name to give to the end grouping row\r\n * @type string\r\n */\n endClassName: 'dtrg-end',\n /**\r\n * End grouping label function\r\n * @function\r\n */\n endRender: null,\n /**\r\n * Class name to give to the start grouping row\r\n * @type string\r\n */\n startClassName: 'dtrg-start',\n /**\r\n * Start grouping label function\r\n * @function\r\n */\n startRender: function startRender(rows, group) {\n return group;\n }\n };\n _RowGroup.version = '1.5.0';\n $.fn.dataTable.RowGroup = _RowGroup;\n $.fn.DataTable.RowGroup = _RowGroup;\n DataTable.Api.register('rowGroup()', function () {\n return this;\n });\n DataTable.Api.register('rowGroup().disable()', function () {\n return this.iterator('table', function (ctx) {\n if (ctx.rowGroup) {\n ctx.rowGroup.enable(false);\n }\n });\n });\n DataTable.Api.register('rowGroup().enable()', function (opts) {\n return this.iterator('table', function (ctx) {\n if (ctx.rowGroup) {\n ctx.rowGroup.enable(opts === undefined ? true : opts);\n }\n });\n });\n DataTable.Api.register('rowGroup().enabled()', function () {\n var ctx = this.context;\n return ctx.length && ctx[0].rowGroup ? ctx[0].rowGroup.enabled() : false;\n });\n DataTable.Api.register('rowGroup().dataSrc()', function (val) {\n if (val === undefined) {\n return this.context[0].rowGroup.dataSrc();\n }\n return this.iterator('table', function (ctx) {\n if (ctx.rowGroup) {\n ctx.rowGroup.dataSrc(val);\n }\n });\n });\n DataTable.Api.register('rowGroup().expand()', function (ctx, position, span, direction) {\n // Si es undefined es que quiere expandir todos\n if (position === undefined) {\n var selectorRowPadre = $(ctx.nTBody).find(\"tr.dtrg-group span\");\n $(ctx.nTBody).find(\"tr:not(.dtrg-group)\").show();\n selectorRowPadre.addClass('ui-icon-circlesmall-minus');\n selectorRowPadre.removeClass('ui-icon-circlesmall-plus');\n } else {\n if (span === undefined) {\n span = $(ctx.nTBody).find(\"[identificador=\" + position + \"]\")[0];\n }\n var rows = ctx.rowGroup._getRowsByGroup($(span.parentNode.parentElement), direction);\n $.each(rows, function () {\n $(this).show();\n });\n $(span).addClass('ui-icon-circlesmall-minus');\n $(span).removeClass('ui-icon-circlesmall-plus');\n $(span).triggerHandler('tablaGroupingClickGroupExpand', ctx);\n }\n });\n DataTable.Api.register('rowGroup().collapse()', function (ctx, position, span, direction) {\n // Si es undefined es que quiere colapsar todos\n if (position === undefined) {\n var selectorRowPadre = $(ctx.nTBody).find(\"tr.dtrg-group span\");\n $(ctx.nTBody).find(\"tr:not(.dtrg-group)\").hide();\n selectorRowPadre.addClass('ui-icon-circlesmall-plus');\n selectorRowPadre.removeClass('ui-icon-circlesmall-minus');\n } else {\n if (span === undefined) {\n span = $(ctx.nTBody).find(\"[identificador=\" + position + \"]\")[0];\n }\n var rows = ctx.rowGroup._getRowsByGroup($(span.parentNode.parentElement), direction);\n $.each(rows, function () {\n $(this).hide();\n });\n $(span).addClass('ui-icon-circlesmall-plus');\n $(span).removeClass('ui-icon-circlesmall-minus');\n $(span).triggerHandler('tablaGroupingClickGroup', ctx);\n }\n });\n\n // Attach a listener to the document which listens for DataTables initialisation\n // events so we can automatically initialise\n $(document).on('preInit.dt.dtrg', function (e, settings, json) {\n if (e.namespace !== 'dt') {\n return;\n }\n var init = settings.oInit.rowGroup;\n var defaults = DataTable.defaults.rowGroup;\n if (init || defaults) {\n var opts = $.extend({}, defaults, init);\n if (init !== false) {\n new _RowGroup(settings, opts);\n }\n }\n });\n return _RowGroup;\n});\n\n//# sourceURL=webpack://rup/./src/rup_table/rup.table.rowGroup.js?"); /***/ }), @@ -8872,7 +8872,7 @@ eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPAC /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("__webpack_require__(/*! @babel/polyfill */\"./node_modules/@babel/polyfill/lib/index.js\");\nmodule.exports = __webpack_require__(/*! C:\\app\\x21aVersiones\\6.x.x\\udaRUP/src/index.js */\"./src/index.js\");\n\n\n//# sourceURL=webpack://rup/multi_@babel/polyfill_./src/index.js?"); +eval("__webpack_require__(/*! @babel/polyfill */\"./node_modules/@babel/polyfill/lib/index.js\");\nmodule.exports = __webpack_require__(/*! C:\\Users\\xagustin\\Entorno_UDA\\workspaces\\eclipse\\x21a_v6\\udaRUP/src/index.js */\"./src/index.js\");\n\n\n//# sourceURL=webpack://rup/multi_@babel/polyfill_./src/index.js?"); /***/ }) diff --git a/x21aStatics/WebContent/rup/js/rup.min.js b/x21aStatics/WebContent/rup/js/rup.min.js index 4ceaef336..0dce75580 100644 --- a/x21aStatics/WebContent/rup/js/rup.min.js +++ b/x21aStatics/WebContent/rup/js/rup.min.js @@ -1 +1 @@ -!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.rup=n():e.rup=n()}(window,(function(){return function(e){var n={};function t(a){if(n[a])return n[a].exports;var r=n[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,t),r.l=!0,r.exports}return t.m=e,t.c=n,t.d=function(e,n,a){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:a})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(t.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(a,r,function(n){return e[n]}.bind(null,r));return a},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=302)}([function(module,exports,__webpack_require__){eval("/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;var require;function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;\n(function (global, factory) {\n ( false ? undefined : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : true ? !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : undefined;\n})(this, function () {\n 'use strict';\n\n var hookCallback;\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n function isUndefined(input) {\n return input === void 0;\n }\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n return a;\n }\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false\n };\n }\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function some(fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n return false;\n };\n }\n function isValid(m) {\n var flags = null,\n parsedParts = false,\n isNowValid = m._d && !isNaN(m._d.getTime());\n if (isNowValid) {\n flags = getParsingFlags(m);\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n isNowValid = flags.overflow < 0 && !flags.empty && !flags.invalidEra && !flags.invalidMonth && !flags.invalidWeekday && !flags.weekdayMismatch && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated && (!flags.meridiem || flags.meridiem && parsedParts);\n if (m._strict) {\n isNowValid = isNowValid && flags.charsLeftOver === 0 && flags.unusedTokens.length === 0 && flags.bigHour === undefined;\n }\n }\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n return m._isValid;\n }\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [],\n updateInProgress = false;\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n function isMoment(obj) {\n return obj instanceof Moment || obj != null && obj._isAMomentObject != null;\n }\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false && typeof console !== 'undefined' && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n function deprecate(msg, fn) {\n var firstTime = true;\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (_typeof(arguments[i]) === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + new Error().stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n var deprecations = {};\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n function isFunction(input) {\n return typeof Function !== 'undefined' && input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + '|' + /\\d{1,2}/.source);\n }\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) && !hasOwnProp(childConfig, prop) && isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n var keys;\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function keys(obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n };\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? forceSign ? '+' : '' : '-') + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function func() {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n return formatFunctions[format](m);\n }\n function expandFormat(format, locale) {\n var i = 5;\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n return format;\n }\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A'\n };\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n if (format || !formatUpper) {\n return format;\n }\n this._longDateFormat[key] = formatUpper.match(formattingTokens).map(function (tok) {\n if (tok === 'MMMM' || tok === 'MM' || tok === 'DD' || tok === 'dddd') {\n return tok.slice(1);\n }\n return tok;\n }).join('');\n return this._longDateFormat[key];\n }\n var defaultInvalidDate = 'Invalid date';\n function invalidDate() {\n return this._invalidDate;\n }\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n };\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output) ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number);\n }\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n var aliases = {\n D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year'\n };\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n return normalizedInput;\n }\n var priorities = {\n date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1\n };\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({\n unit: u,\n priority: priorities[u]\n });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n var match1 = /\\d/,\n // 0 - 9\n match2 = /\\d\\d/,\n // 00 - 99\n match3 = /\\d{3}/,\n // 000 - 999\n match4 = /\\d{4}/,\n // 0000 - 9999\n match6 = /[+-]?\\d{6}/,\n // -999999 - 999999\n match1to2 = /\\d\\d?/,\n // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/,\n // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/,\n // 99999 - 999999\n match1to3 = /\\d{1,3}/,\n // 0 - 999\n match1to4 = /\\d{1,4}/,\n // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/,\n // -999999 - 999999\n matchUnsigned = /\\d+/,\n // 0 - inf\n matchSigned = /[+-]?\\d+/,\n // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi,\n // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi,\n // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/,\n // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n match1to2NoLeadingZero = /^[1-9]\\d?/,\n // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/,\n // 0-99\n regexes;\n regexes = {};\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n return value;\n }\n var tokens = {};\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function func(input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n function isLeapYear(year) {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n }\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n function get(mom, unit) {\n if (!mom.isValid()) {\n return NaN;\n }\n var d = mom._d,\n isUTC = mom._isUTC;\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN;\n // Just in case\n }\n }\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n d = mom._d;\n isUTC = mom._isUTC;\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC ? d.setUTCMilliseconds(value) : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break;\n // See below ...\n default:\n return;\n // Just in case\n }\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC ? d.setUTCFullYear(year, month, date) : d.setFullYear(year, month, date));\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n function stringSet(units, value) {\n if (_typeof(units) === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n function mod(n, x) {\n return (n % x + x) % x;\n }\n var indexOf;\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function indexOf(o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? isLeapYear(year) ? 29 : 28 : 31 - modMonth % 7 % 2;\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // PARSING\n\n addRegexToken('M', match1to2, match1to2NoLeadingZero);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months) ? this._months : this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] : this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n var month = value,\n date = mom.date();\n date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n void (mom._isUTC ? mom._d.setUTCMonth(month, date) : mom._d.setMonth(month, date));\n return mom;\n }\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ? this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ? this._monthsStrictRegex : this._monthsRegex;\n }\n }\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n shortP,\n longP;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortP = regexEscape(this.monthsShort(mom, ''));\n longP = regexEscape(this.months(mom, ''));\n shortPieces.push(shortP);\n longPieces.push(longP);\n mixedPieces.push(longP);\n mixedPieces.push(shortP);\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n return date;\n }\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var\n // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n return {\n week: resWeek,\n year: resYear\n };\n }\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n var defaultLocaleWeek = {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n };\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n return null;\n }\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays) ? this._weekdays : this._weekdays[m && m !== true && this._weekdays.isFormat.test(format) ? 'format' : 'standalone'];\n return m === true ? shiftWeekdays(weekdays, this._week.dow) : m ? weekdays[m.day()] : weekdays;\n }\n function localeWeekdaysShort(m) {\n return m === true ? shiftWeekdays(this._weekdaysShort, this._week.dow) : m ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n function localeWeekdaysMin(m) {\n return m === true ? shiftWeekdays(this._weekdaysMin, this._week.dow) : m ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = get(this, 'Day');\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ? this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n function kFormat() {\n return this.hours() || 24;\n }\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);\n });\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);\n });\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n meridiem('a', true);\n meridiem('A', false);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2, match1to2HasZero);\n addRegexToken('h', match1to2, match1to2NoLeadingZero);\n addRegexToken('k', match1to2, match1to2NoLeadingZero);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n week: defaultLocaleWeek,\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && commonPrefix(split, next) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (locales[name] === undefined && typeof module !== 'undefined' && module && module.exports && isLocaleNameSane(name)) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n __webpack_require__(551)(\"./\" + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n return globalLocale._abbr;\n }\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride', 'use moment.updateLocale(localeName, config) to change ' + 'an existing locale. moment.defineLocale(localeName, ' + 'config) should only be used for creating a new locale ' + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n if (!key) {\n return globalLocale;\n }\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n return chooseLocale(key);\n }\n function listLocales() {\n return keys(locales);\n }\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n if (a && getParsingFlags(m).overflow === -2) {\n overflow = a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : a[HOUR] < 0 || a[HOUR] > 24 || a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0) ? HOUR : a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : -1;\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n getParsingFlags(m).overflow = overflow;\n }\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/], ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/], ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/], ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false], ['YYYY-DDD', /\\d{4}-\\d{3}/], ['YYYY-MM', /\\d{4}-\\d\\d/, false], ['YYYYYYMMDD', /[+-]\\d{10}/], ['YYYYMMDD', /\\d{8}/], ['GGGG[W]WWE', /\\d{4}W\\d{3}/], ['GGGG[W]WW', /\\d{4}W\\d{2}/, false], ['YYYYDDD', /\\d{7}/], ['YYYYMM', /\\d{6}/, false], ['YYYY', /\\d{4}/, false]],\n // iso time formats and regexes\n isoTimes = [['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/], ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/], ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/], ['HH:mm', /\\d\\d:\\d\\d/], ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/], ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/], ['HHmmss', /\\d\\d\\d\\d\\d\\d/], ['HHmm', /\\d\\d\\d\\d/], ['HH', /\\d\\d/]],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [untruncateYear(yearStr), defaultLocaleMonthsShort.indexOf(monthStr), parseInt(dayStr, 10), parseInt(hourStr, 10), parseInt(minuteStr, 10)];\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n return result;\n }\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^()]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n hooks.createFromInputFallback = deprecate('value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n });\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n if (config._d) {\n return;\n }\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = config._a[i] == null ? i === 2 ? 1 : 0 : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 && config._a[MINUTE] === 0 && config._a[SECOND] === 0 && config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n curWeek = weekOfYear(createLocal(), dow, doy);\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 && getParsingFlags(config).bigHour === true && config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n configFromArray(config);\n checkOverflow(config);\n }\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n getParsingFlags(tempConfig).score = currentScore;\n if (!bestFormatIsValid) {\n if (scoreToBeat == null || currentScore < scoreToBeat || validFormatFound) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n extend(config, bestMoment || tempConfig);\n }\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map([i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n configFromArray(config);\n }\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n return res;\n }\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n config._locale = config._locale || getLocale(config._l);\n if (input === null || format === undefined && input === '') {\n return createInvalid({\n nullInput: true\n });\n }\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n if (!isValid(config)) {\n config._d = null;\n }\n return config;\n }\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n if (isObject(input) && isObjectEmpty(input) || isArray(input) && input.length === 0) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n return createFromConfig(c);\n }\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n var prototypeMin = deprecate('moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }),\n prototypeMax = deprecate('moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n });\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n return pickBy('isBefore', args);\n }\n function max() {\n var args = [].slice.call(arguments, 0);\n return pickBy('isAfter', args);\n }\n var now = function now() {\n return Date.now ? Date.now() : +new Date();\n };\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (hasOwnProp(m, key) && !(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n return true;\n }\n function isValid$1() {\n return this._isValid;\n }\n function createInvalid$1() {\n return createDuration(NaN);\n }\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds + seconds * 1e3 +\n // 1000\n minutes * 6e4 +\n // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n this._data = {};\n this._locale = getLocale();\n this._bubble();\n }\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (dontConvert && array1[i] !== array2[i] || !dontConvert && toInt(array1[i]) !== toInt(array2[i])) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~offset % 60, 2);\n });\n }\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n if (matches === null) {\n return null;\n }\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--\x3e\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n this.utcOffset(input, keepLocalTime);\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n return (this.utcOffset() - input) % 60 === 0;\n }\n function isDaylightSavingTime() {\n return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();\n }\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n var c = {},\n other;\n copyConfig(c, this);\n c = prepareConfig(c);\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n return this._isDSTShifted;\n }\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if (match = aspNetRegex.exec(input)) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (match = isoRegex.exec(input)) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign)\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (_typeof(duration) === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n ret = new Duration(duration);\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n return ret;\n }\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n function positiveMomentsDifference(base, other) {\n var res = {};\n res.months = other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n return res;\n }\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {\n milliseconds: 0,\n months: 0\n };\n }\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val;\n val = period;\n period = tmp;\n }\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n if (!mom.isValid()) {\n // No op\n return;\n }\n updateOffset = updateOffset == null ? true : updateOffset;\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return isMoment(input) || isDate(input) || isString(input) || isNumber(input) || isNumberOrStringArray(input) || isMomentInputObject(input) || input === null || input === undefined;\n }\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = ['years', 'year', 'y', 'months', 'month', 'M', 'days', 'day', 'd', 'dates', 'date', 'D', 'hours', 'hour', 'h', 'minutes', 'minute', 'm', 'seconds', 'second', 's', 'milliseconds', 'millisecond', 'ms'],\n i,\n property,\n propertyLen = properties.length;\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n return objectTest && propertyTest;\n }\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest = input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = ['sameDay', 'nextDay', 'lastDay', 'nextWeek', 'lastWeek', 'sameElse'],\n i,\n property;\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n return objectTest && propertyTest;\n }\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' : diff < -1 ? 'lastWeek' : diff < 0 ? 'lastDay' : diff < 1 ? 'sameDay' : diff < 2 ? 'nextDay' : diff < 7 ? 'nextWeek' : 'sameElse';\n }\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n function clone() {\n return new Moment(this);\n }\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n if (!this.isValid()) {\n return NaN;\n }\n that = cloneWithOffset(input, this);\n if (!that.isValid()) {\n return NaN;\n }\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n units = normalizeUnits(units);\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break;\n // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break;\n // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break;\n // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break;\n // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break;\n // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n return asFloat ? output : absFloor(output);\n }\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n return this.format(prefix + year + datetime + suffix);\n }\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n function from(time, withoutSuffix) {\n if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {\n return createDuration({\n to: this,\n from: time\n }).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n function to(time, withoutSuffix) {\n if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {\n return createDuration({\n from: this,\n to: time\n }).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n var lang = deprecate('moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n });\n function localeData() {\n return this._locale;\n }\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n function toDate() {\n return new Date(this.valueOf());\n }\n function toArray() {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n function isValid$2() {\n return isValid(this);\n }\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n });\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (_typeof(eras[i].since)) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n switch (_typeof(eras[i].until)) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n return '';\n }\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n return '';\n }\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n return '';\n }\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n if (eras[i].since <= val && val <= eras[i].until || eras[i].until <= val && val <= eras[i].since) {\n return (this.year() - hooks(eras[i].since).year()) * dir + eras[i].offset;\n }\n }\n return this.year();\n }\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n erasName,\n erasAbbr,\n erasNarrow,\n eras = this.eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n erasName = regexEscape(eras[i].name);\n erasAbbr = regexEscape(eras[i].abbr);\n erasNarrow = regexEscape(eras[i].narrow);\n namePieces.push(erasName);\n abbrPieces.push(erasAbbr);\n narrowPieces.push(erasNarrow);\n mixedPieces.push(erasName);\n mixedPieces.push(erasAbbr);\n mixedPieces.push(erasNarrow);\n }\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp('^(' + narrowPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(this, input, this.week(), this.weekday() + this.localeData()._week.dow, this.localeData()._week.dow, this.localeData()._week.doy);\n }\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(this, input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ? locale._dayOfMonthOrdinalParse || locale._ordinalParse : locale._dayOfMonthOrdinalParseLenient;\n });\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n var proto = Moment.prototype;\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol[\"for\"] != null) {\n proto[Symbol[\"for\"]('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n function preParsePostFormat(string) {\n return string;\n }\n var proto$1 = Locale.prototype;\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n format = format || '';\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n format = format || '';\n }\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n getSetGlobalLocale('en', {\n eras: [{\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD'\n }, {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC'\n }],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = toInt(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n var mathAbs = Math.abs;\n function abs() {\n var data = this._data;\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n return this;\n }\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!(milliseconds >= 0 && days >= 0 && months >= 0 || milliseconds <= 0 && days <= 0 && months <= 0)) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n data.days = days;\n data.months = months;\n data.years = years;\n return this;\n }\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n units = normalizeUnits(units);\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y'),\n valueOf$1 = asMilliseconds;\n function clone$1() {\n return createDuration(this);\n }\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n function weeks() {\n return absFloor(this.days() / 7);\n }\n var round = Math.round,\n thresholds = {\n ss: 44,\n // a few seconds to seconds\n s: 45,\n // seconds to minute\n m: 45,\n // minutes to hour\n h: 22,\n // hours to day\n d: 26,\n // days to month/week\n w: null,\n // weeks to month\n M: 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a = seconds <= thresholds.ss && ['s', seconds] || seconds < thresholds.s && ['ss', seconds] || minutes <= 1 && ['m'] || minutes < thresholds.m && ['mm', minutes] || hours <= 1 && ['h'] || hours < thresholds.h && ['hh', hours] || days <= 1 && ['d'] || days < thresholds.d && ['dd', days];\n if (thresholds.w != null) {\n a = a || weeks <= 1 && ['w'] || weeks < thresholds.w && ['ww', weeks];\n }\n a = a || months <= 1 && ['M'] || months < thresholds.M && ['MM', months] || years <= 1 && ['y'] || ['yy', years];\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n if (_typeof(argWithSuffix) === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (_typeof(argThresholds) === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n return locale.postformat(output);\n }\n var abs$1 = Math.abs;\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n return totalSign + 'P' + (years ? ymSign + years + 'Y' : '') + (months ? ymSign + months + 'M' : '') + (days ? daysSign + days + 'D' : '') + (hours || minutes || seconds ? 'T' : '') + (hours ? hmsSign + hours + 'H' : '') + (minutes ? hmsSign + minutes + 'M' : '') + (seconds ? hmsSign + s + 'S' : '');\n }\n var proto$2 = Duration.prototype;\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.30.1';\n setHookCallback(createLocal);\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm',\n // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss',\n // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS',\n // \n DATE: 'YYYY-MM-DD',\n // \n TIME: 'HH:mm',\n // \n TIME_SECONDS: 'HH:mm:ss',\n // \n TIME_MS: 'HH:mm:ss.SSS',\n // \n WEEK: 'GGGG-[W]WW',\n // \n MONTH: 'YYYY-MM' // \n };\n return hooks;\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(59)(module)))\n\n//# sourceURL=webpack://rup/./node_modules/moment/moment.js?")},function(module,exports,__webpack_require__){eval('/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }\n/*!\n * jQuery JavaScript Library v3.7.1\n * https://jquery.com/\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2023-08-28T13:37Z\n */\n(function (global, factory) {\n "use strict";\n\n if (( false ? undefined : _typeof(module)) === "object" && _typeof(module.exports) === "object") {\n // For CommonJS and CommonJS-like environments where a proper `window`\n // is present, execute the factory and get jQuery.\n // For environments that do not have a `window` with a `document`\n // (such as Node.js), expose a factory as module.exports.\n // This accentuates the need for the creation of a real `window`.\n // e.g. var jQuery = require("jquery")(window);\n // See ticket trac-14549 for more info.\n module.exports = global.document ? factory(global, true) : function (w) {\n if (!w.document) {\n throw new Error("jQuery requires a window with a document");\n }\n return factory(w);\n };\n } else {\n factory(global);\n }\n\n // Pass this if window is not defined yet\n})(typeof window !== "undefined" ? window : this, function (window, noGlobal) {\n // Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n // throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n // arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n // enough that all such attempts are guarded in a try block.\n "use strict";\n\n var arr = [];\n var getProto = Object.getPrototypeOf;\n var _slice = arr.slice;\n var flat = arr.flat ? function (array) {\n return arr.flat.call(array);\n } : function (array) {\n return arr.concat.apply([], array);\n };\n var push = arr.push;\n var indexOf = arr.indexOf;\n var class2type = {};\n var toString = class2type.toString;\n var hasOwn = class2type.hasOwnProperty;\n var fnToString = hasOwn.toString;\n var ObjectFunctionString = fnToString.call(Object);\n var support = {};\n var isFunction = function isFunction(obj) {\n // Support: Chrome <=57, Firefox <=52\n // In some browsers, typeof returns "function" for HTML elements\n // (i.e., `typeof document.createElement( "object" ) === "function"`).\n // We don\'t want to classify *any* DOM node as a function.\n // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5\n // Plus for old WebKit, typeof returns "function" for HTML collections\n // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756)\n return typeof obj === "function" && typeof obj.nodeType !== "number" && typeof obj.item !== "function";\n };\n var isWindow = function isWindow(obj) {\n return obj != null && obj === obj.window;\n };\n var document = window.document;\n var preservedScriptAttributes = {\n type: true,\n src: true,\n nonce: true,\n noModule: true\n };\n function DOMEval(code, node, doc) {\n doc = doc || document;\n var i,\n val,\n script = doc.createElement("script");\n script.text = code;\n if (node) {\n for (i in preservedScriptAttributes) {\n // Support: Firefox 64+, Edge 18+\n // Some browsers don\'t support the "nonce" property on scripts.\n // On the other hand, just using `getAttribute` is not enough as\n // the `nonce` attribute is reset to an empty string whenever it\n // becomes browsing-context connected.\n // See https://github.com/whatwg/html/issues/2369\n // See https://html.spec.whatwg.org/#nonce-attributes\n // The `node.getAttribute` check was added for the sake of\n // `jQuery.globalEval` so that it can fake a nonce-containing node\n // via an object.\n val = node[i] || node.getAttribute && node.getAttribute(i);\n if (val) {\n script.setAttribute(i, val);\n }\n }\n }\n doc.head.appendChild(script).parentNode.removeChild(script);\n }\n function toType(obj) {\n if (obj == null) {\n return obj + "";\n }\n\n // Support: Android <=2.3 only (functionish RegExp)\n return _typeof(obj) === "object" || typeof obj === "function" ? class2type[toString.call(obj)] || "object" : _typeof(obj);\n }\n /* global Symbol */\n // Defining this global in .eslintrc.json would create a danger of using the global\n // unguarded in another place, it seems safer to define global only for this module\n\n var version = "3.7.1",\n rhtmlSuffix = /HTML$/i,\n // Define a local copy of jQuery\n jQuery = function jQuery(selector, context) {\n // The jQuery object is actually just the init constructor \'enhanced\'\n // Need init if jQuery is called (just allow error to be thrown if not included)\n return new jQuery.fn.init(selector, context);\n };\n jQuery.fn = jQuery.prototype = {\n // The current version of jQuery being used\n jquery: version,\n constructor: jQuery,\n // The default length of a jQuery object is 0\n length: 0,\n toArray: function toArray() {\n return _slice.call(this);\n },\n // Get the Nth element in the matched element set OR\n // Get the whole matched element set as a clean array\n get: function get(num) {\n // Return all the elements in a clean array\n if (num == null) {\n return _slice.call(this);\n }\n\n // Return just the one element from the set\n return num < 0 ? this[num + this.length] : this[num];\n },\n // Take an array of elements and push it onto the stack\n // (returning the new matched element set)\n pushStack: function pushStack(elems) {\n // Build a new jQuery matched element set\n var ret = jQuery.merge(this.constructor(), elems);\n\n // Add the old object onto the stack (as a reference)\n ret.prevObject = this;\n\n // Return the newly-formed element set\n return ret;\n },\n // Execute a callback for every element in the matched set.\n each: function each(callback) {\n return jQuery.each(this, callback);\n },\n map: function map(callback) {\n return this.pushStack(jQuery.map(this, function (elem, i) {\n return callback.call(elem, i, elem);\n }));\n },\n slice: function slice() {\n return this.pushStack(_slice.apply(this, arguments));\n },\n first: function first() {\n return this.eq(0);\n },\n last: function last() {\n return this.eq(-1);\n },\n even: function even() {\n return this.pushStack(jQuery.grep(this, function (_elem, i) {\n return (i + 1) % 2;\n }));\n },\n odd: function odd() {\n return this.pushStack(jQuery.grep(this, function (_elem, i) {\n return i % 2;\n }));\n },\n eq: function eq(i) {\n var len = this.length,\n j = +i + (i < 0 ? len : 0);\n return this.pushStack(j >= 0 && j < len ? [this[j]] : []);\n },\n end: function end() {\n return this.prevObject || this.constructor();\n },\n // For internal use only.\n // Behaves like an Array\'s method, not like a jQuery method.\n push: push,\n sort: arr.sort,\n splice: arr.splice\n };\n jQuery.extend = jQuery.fn.extend = function () {\n var options,\n name,\n src,\n copy,\n copyIsArray,\n clone,\n target = arguments[0] || {},\n i = 1,\n length = arguments.length,\n deep = false;\n\n // Handle a deep copy situation\n if (typeof target === "boolean") {\n deep = target;\n\n // Skip the boolean and the target\n target = arguments[i] || {};\n i++;\n }\n\n // Handle case when target is a string or something (possible in deep copy)\n if (_typeof(target) !== "object" && !isFunction(target)) {\n target = {};\n }\n\n // Extend jQuery itself if only one argument is passed\n if (i === length) {\n target = this;\n i--;\n }\n for (; i < length; i++) {\n // Only deal with non-null/undefined values\n if ((options = arguments[i]) != null) {\n // Extend the base object\n for (name in options) {\n copy = options[name];\n\n // Prevent Object.prototype pollution\n // Prevent never-ending loop\n if (name === "__proto__" || target === copy) {\n continue;\n }\n\n // Recurse if we\'re merging plain objects or arrays\n if (deep && copy && (jQuery.isPlainObject(copy) || (copyIsArray = Array.isArray(copy)))) {\n src = target[name];\n\n // Ensure proper type for the source value\n if (copyIsArray && !Array.isArray(src)) {\n clone = [];\n } else if (!copyIsArray && !jQuery.isPlainObject(src)) {\n clone = {};\n } else {\n clone = src;\n }\n copyIsArray = false;\n\n // Never move original objects, clone them\n target[name] = jQuery.extend(deep, clone, copy);\n\n // Don\'t bring in undefined values\n } else if (copy !== undefined) {\n target[name] = copy;\n }\n }\n }\n }\n\n // Return the modified object\n return target;\n };\n jQuery.extend({\n // Unique for each copy of jQuery on the page\n expando: "jQuery" + (version + Math.random()).replace(/\\D/g, ""),\n // Assume jQuery is ready without the ready module\n isReady: true,\n error: function error(msg) {\n throw new Error(msg);\n },\n noop: function noop() {},\n isPlainObject: function isPlainObject(obj) {\n var proto, Ctor;\n\n // Detect obvious negatives\n // Use toString instead of jQuery.type to catch host objects\n if (!obj || toString.call(obj) !== "[object Object]") {\n return false;\n }\n proto = getProto(obj);\n\n // Objects with no prototype (e.g., `Object.create( null )`) are plain\n if (!proto) {\n return true;\n }\n\n // Objects with prototype are plain iff they were constructed by a global Object function\n Ctor = hasOwn.call(proto, "constructor") && proto.constructor;\n return typeof Ctor === "function" && fnToString.call(Ctor) === ObjectFunctionString;\n },\n isEmptyObject: function isEmptyObject(obj) {\n var name;\n for (name in obj) {\n return false;\n }\n return true;\n },\n // Evaluates a script in a provided context; falls back to the global one\n // if not specified.\n globalEval: function globalEval(code, options, doc) {\n DOMEval(code, {\n nonce: options && options.nonce\n }, doc);\n },\n each: function each(obj, callback) {\n var length,\n i = 0;\n if (isArrayLike(obj)) {\n length = obj.length;\n for (; i < length; i++) {\n if (callback.call(obj[i], i, obj[i]) === false) {\n break;\n }\n }\n } else {\n for (i in obj) {\n if (callback.call(obj[i], i, obj[i]) === false) {\n break;\n }\n }\n }\n return obj;\n },\n // Retrieve the text value of an array of DOM nodes\n text: function text(elem) {\n var node,\n ret = "",\n i = 0,\n nodeType = elem.nodeType;\n if (!nodeType) {\n // If no nodeType, this is expected to be an array\n while (node = elem[i++]) {\n // Do not traverse comment nodes\n ret += jQuery.text(node);\n }\n }\n if (nodeType === 1 || nodeType === 11) {\n return elem.textContent;\n }\n if (nodeType === 9) {\n return elem.documentElement.textContent;\n }\n if (nodeType === 3 || nodeType === 4) {\n return elem.nodeValue;\n }\n\n // Do not include comment or processing instruction nodes\n\n return ret;\n },\n // results is for internal usage only\n makeArray: function makeArray(arr, results) {\n var ret = results || [];\n if (arr != null) {\n if (isArrayLike(Object(arr))) {\n jQuery.merge(ret, typeof arr === "string" ? [arr] : arr);\n } else {\n push.call(ret, arr);\n }\n }\n return ret;\n },\n inArray: function inArray(elem, arr, i) {\n return arr == null ? -1 : indexOf.call(arr, elem, i);\n },\n isXMLDoc: function isXMLDoc(elem) {\n var namespace = elem && elem.namespaceURI,\n docElem = elem && (elem.ownerDocument || elem).documentElement;\n\n // Assume HTML when documentElement doesn\'t yet exist, such as inside\n // document fragments.\n return !rhtmlSuffix.test(namespace || docElem && docElem.nodeName || "HTML");\n },\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n merge: function merge(first, second) {\n var len = +second.length,\n j = 0,\n i = first.length;\n for (; j < len; j++) {\n first[i++] = second[j];\n }\n first.length = i;\n return first;\n },\n grep: function grep(elems, callback, invert) {\n var callbackInverse,\n matches = [],\n i = 0,\n length = elems.length,\n callbackExpect = !invert;\n\n // Go through the array, only saving the items\n // that pass the validator function\n for (; i < length; i++) {\n callbackInverse = !callback(elems[i], i);\n if (callbackInverse !== callbackExpect) {\n matches.push(elems[i]);\n }\n }\n return matches;\n },\n // arg is for internal usage only\n map: function map(elems, callback, arg) {\n var length,\n value,\n i = 0,\n ret = [];\n\n // Go through the array, translating each of the items to their new values\n if (isArrayLike(elems)) {\n length = elems.length;\n for (; i < length; i++) {\n value = callback(elems[i], i, arg);\n if (value != null) {\n ret.push(value);\n }\n }\n\n // Go through every key on the object,\n } else {\n for (i in elems) {\n value = callback(elems[i], i, arg);\n if (value != null) {\n ret.push(value);\n }\n }\n }\n\n // Flatten any nested arrays\n return flat(ret);\n },\n // A global GUID counter for objects\n guid: 1,\n // jQuery.support is not used in Core but other projects attach their\n // properties to it so it needs to exist.\n support: support\n });\n if (typeof Symbol === "function") {\n jQuery.fn[Symbol.iterator] = arr[Symbol.iterator];\n }\n\n // Populate the class2type map\n jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (_i, name) {\n class2type["[object " + name + "]"] = name.toLowerCase();\n });\n function isArrayLike(obj) {\n // Support: real iOS 8.2 only (not reproducible in simulator)\n // `in` check used to prevent JIT error (gh-2145)\n // hasOwn isn\'t used here due to false negatives\n // regarding Nodelist length in IE\n var length = !!obj && "length" in obj && obj.length,\n type = toType(obj);\n if (isFunction(obj) || isWindow(obj)) {\n return false;\n }\n return type === "array" || length === 0 || typeof length === "number" && length > 0 && length - 1 in obj;\n }\n function nodeName(elem, name) {\n return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n }\n var pop = arr.pop;\n var sort = arr.sort;\n var splice = arr.splice;\n var whitespace = "[\\\\x20\\\\t\\\\r\\\\n\\\\f]";\n var rtrimCSS = new RegExp("^" + whitespace + "+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)" + whitespace + "+$", "g");\n\n // Note: an element does not contain itself\n jQuery.contains = function (a, b) {\n var bup = b && b.parentNode;\n return a === bup || !!(bup && bup.nodeType === 1 && (\n // Support: IE 9 - 11+\n // IE doesn\'t have `contains` on SVG.\n a.contains ? a.contains(bup) : a.compareDocumentPosition && a.compareDocumentPosition(bup) & 16));\n };\n\n // CSS string/identifier serialization\n // https://drafts.csswg.org/cssom/#common-serializing-idioms\n var rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g;\n function fcssescape(ch, asCodePoint) {\n if (asCodePoint) {\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n if (ch === "\\0") {\n return "\\uFFFD";\n }\n\n // Control characters and (dependent upon position) numbers get escaped as code points\n return ch.slice(0, -1) + "\\\\" + ch.charCodeAt(ch.length - 1).toString(16) + " ";\n }\n\n // Other potentially-special ASCII characters get backslash-escaped\n return "\\\\" + ch;\n }\n jQuery.escapeSelector = function (sel) {\n return (sel + "").replace(rcssescape, fcssescape);\n };\n var preferredDoc = document,\n pushNative = push;\n (function () {\n var i,\n Expr,\n outermostContext,\n sortInput,\n hasDuplicate,\n push = pushNative,\n // Local document vars\n document,\n documentElement,\n documentIsHTML,\n rbuggyQSA,\n matches,\n // Instance-specific data\n expando = jQuery.expando,\n dirruns = 0,\n done = 0,\n classCache = createCache(),\n tokenCache = createCache(),\n compilerCache = createCache(),\n nonnativeSelectorCache = createCache(),\n sortOrder = function sortOrder(a, b) {\n if (a === b) {\n hasDuplicate = true;\n }\n return 0;\n },\n booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|" + "loop|multiple|open|readonly|required|scoped",\n // Regular expressions\n\n // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\n identifier = "(?:\\\\\\\\[\\\\da-fA-F]{1,6}" + whitespace + "?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+",\n // Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors\n attributes = "\\\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +\n // Operator (capture 2)\n "*([*^$|!~]?=)" + whitespace +\n // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"\n "*(?:\'((?:\\\\\\\\.|[^\\\\\\\\\'])*)\'|\\"((?:\\\\\\\\.|[^\\\\\\\\\\"])*)\\"|(" + identifier + "))|)" + whitespace + "*\\\\]",\n pseudos = ":(" + identifier + ")(?:\\\\((" +\n // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n // 1. quoted (capture 3; capture 4 or capture 5)\n "(\'((?:\\\\\\\\.|[^\\\\\\\\\'])*)\'|\\"((?:\\\\\\\\.|[^\\\\\\\\\\"])*)\\")|" +\n // 2. simple (capture 6)\n "((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|" + attributes + ")*)|" +\n // 3. anything else (capture 2)\n ".*" + ")\\\\)|)",\n // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n rwhitespace = new RegExp(whitespace + "+", "g"),\n rcomma = new RegExp("^" + whitespace + "*," + whitespace + "*"),\n rleadingCombinator = new RegExp("^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*"),\n rdescend = new RegExp(whitespace + "|>"),\n rpseudo = new RegExp(pseudos),\n ridentifier = new RegExp("^" + identifier + "$"),\n matchExpr = {\n ID: new RegExp("^#(" + identifier + ")"),\n CLASS: new RegExp("^\\\\.(" + identifier + ")"),\n TAG: new RegExp("^(" + identifier + "|[*])"),\n ATTR: new RegExp("^" + attributes),\n PSEUDO: new RegExp("^" + pseudos),\n CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(" + whitespace + "*(even|odd|(([+-]|)(\\\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + "*(\\\\d+)|))" + whitespace + "*\\\\)|)", "i"),\n bool: new RegExp("^(?:" + booleans + ")$", "i"),\n // For use in libraries implementing .is()\n // We use this for POS matching in `select`\n needsContext: new RegExp("^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(" + whitespace + "*((?:-\\\\d)?\\\\d*)" + whitespace + "*\\\\)|)(?=[^-]|$)", "i")\n },\n rinputs = /^(?:input|select|textarea|button)$/i,\n rheader = /^h\\d$/i,\n // Easily-parseable/retrievable ID or TAG or CLASS selectors\n rquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n rsibling = /[+~]/,\n // CSS escapes\n // https://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n runescape = new RegExp("\\\\\\\\[\\\\da-fA-F]{1,6}" + whitespace + "?|\\\\\\\\([^\\\\r\\\\n\\\\f])", "g"),\n funescape = function funescape(escape, nonHex) {\n var high = "0x" + escape.slice(1) - 0x10000;\n if (nonHex) {\n // Strip the backslash prefix from a non-hex escape sequence\n return nonHex;\n }\n\n // Replace a hexadecimal escape sequence with the encoded Unicode code point\n // Support: IE <=11+\n // For values outside the Basic Multilingual Plane (BMP), manually construct a\n // surrogate pair\n return high < 0 ? String.fromCharCode(high + 0x10000) : String.fromCharCode(high >> 10 | 0xD800, high & 0x3FF | 0xDC00);\n },\n // Used for iframes; see `setDocument`.\n // Support: IE 9 - 11+, Edge 12 - 18+\n // Removing the function wrapper causes a "Permission Denied"\n // error in IE/Edge.\n unloadHandler = function unloadHandler() {\n setDocument();\n },\n inDisabledFieldset = addCombinator(function (elem) {\n return elem.disabled === true && nodeName(elem, "fieldset");\n }, {\n dir: "parentNode",\n next: "legend"\n });\n\n // Support: IE <=9 only\n // Accessing document.activeElement can throw unexpectedly\n // https://bugs.jquery.com/ticket/13393\n function safeActiveElement() {\n try {\n return document.activeElement;\n } catch (err) {}\n }\n\n // Optimize for push.apply( _, NodeList )\n try {\n push.apply(arr = _slice.call(preferredDoc.childNodes), preferredDoc.childNodes);\n\n // Support: Android <=4.0\n // Detect silently failing push.apply\n // eslint-disable-next-line no-unused-expressions\n arr[preferredDoc.childNodes.length].nodeType;\n } catch (e) {\n push = {\n apply: function apply(target, els) {\n pushNative.apply(target, _slice.call(els));\n },\n call: function call(target) {\n pushNative.apply(target, _slice.call(arguments, 1));\n }\n };\n }\n function find(selector, context, results, seed) {\n var m,\n i,\n elem,\n nid,\n match,\n groups,\n newSelector,\n newContext = context && context.ownerDocument,\n // nodeType defaults to 9, since context defaults to document\n nodeType = context ? context.nodeType : 9;\n results = results || [];\n\n // Return early from calls with invalid selector or context\n if (typeof selector !== "string" || !selector || nodeType !== 1 && nodeType !== 9 && nodeType !== 11) {\n return results;\n }\n\n // Try to shortcut find operations (as opposed to filters) in HTML documents\n if (!seed) {\n setDocument(context);\n context = context || document;\n if (documentIsHTML) {\n // If the selector is sufficiently simple, try using a "get*By*" DOM method\n // (excepting DocumentFragment context, where the methods don\'t exist)\n if (nodeType !== 11 && (match = rquickExpr.exec(selector))) {\n // ID selector\n if (m = match[1]) {\n // Document context\n if (nodeType === 9) {\n if (elem = context.getElementById(m)) {\n // Support: IE 9 only\n // getElementById can match elements by name instead of ID\n if (elem.id === m) {\n push.call(results, elem);\n return results;\n }\n } else {\n return results;\n }\n\n // Element context\n } else {\n // Support: IE 9 only\n // getElementById can match elements by name instead of ID\n if (newContext && (elem = newContext.getElementById(m)) && find.contains(context, elem) && elem.id === m) {\n push.call(results, elem);\n return results;\n }\n }\n\n // Type selector\n } else if (match[2]) {\n push.apply(results, context.getElementsByTagName(selector));\n return results;\n\n // Class selector\n } else if ((m = match[3]) && context.getElementsByClassName) {\n push.apply(results, context.getElementsByClassName(m));\n return results;\n }\n }\n\n // Take advantage of querySelectorAll\n if (!nonnativeSelectorCache[selector + " "] && (!rbuggyQSA || !rbuggyQSA.test(selector))) {\n newSelector = selector;\n newContext = context;\n\n // qSA considers elements outside a scoping root when evaluating child or\n // descendant combinators, which is not what we want.\n // In such cases, we work around the behavior by prefixing every selector in the\n // list with an ID selector referencing the scope context.\n // The technique has to be used as well when a leading combinator is used\n // as such selectors are not recognized by querySelectorAll.\n // Thanks to Andrew Dupont for this technique.\n if (nodeType === 1 && (rdescend.test(selector) || rleadingCombinator.test(selector))) {\n // Expand context for sibling selectors\n newContext = rsibling.test(selector) && testContext(context.parentNode) || context;\n\n // We can use :scope instead of the ID hack if the browser\n // supports it & if we\'re not changing the context.\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a "Permission denied" error when\n // strict-comparing two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if (newContext != context || !support.scope) {\n // Capture the context ID, setting it first if necessary\n if (nid = context.getAttribute("id")) {\n nid = jQuery.escapeSelector(nid);\n } else {\n context.setAttribute("id", nid = expando);\n }\n }\n\n // Prefix every selector in the list\n groups = tokenize(selector);\n i = groups.length;\n while (i--) {\n groups[i] = (nid ? "#" + nid : ":scope") + " " + toSelector(groups[i]);\n }\n newSelector = groups.join(",");\n }\n try {\n push.apply(results, newContext.querySelectorAll(newSelector));\n return results;\n } catch (qsaError) {\n nonnativeSelectorCache(selector, true);\n } finally {\n if (nid === expando) {\n context.removeAttribute("id");\n }\n }\n }\n }\n }\n\n // All others\n return select(selector.replace(rtrimCSS, "$1"), context, results, seed);\n }\n\n /**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\n function createCache() {\n var keys = [];\n function cache(key, value) {\n // Use (key + " ") to avoid collision with native prototype properties\n // (see https://github.com/jquery/sizzle/issues/157)\n if (keys.push(key + " ") > Expr.cacheLength) {\n // Only keep the most recent entries\n delete cache[keys.shift()];\n }\n return cache[key + " "] = value;\n }\n return cache;\n }\n\n /**\n * Mark a function for special use by jQuery selector module\n * @param {Function} fn The function to mark\n */\n function markFunction(fn) {\n fn[expando] = true;\n return fn;\n }\n\n /**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\n function assert(fn) {\n var el = document.createElement("fieldset");\n try {\n return !!fn(el);\n } catch (e) {\n return false;\n } finally {\n // Remove from its parent by default\n if (el.parentNode) {\n el.parentNode.removeChild(el);\n }\n\n // release memory in IE\n el = null;\n }\n }\n\n /**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\n function createInputPseudo(type) {\n return function (elem) {\n return nodeName(elem, "input") && elem.type === type;\n };\n }\n\n /**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\n function createButtonPseudo(type) {\n return function (elem) {\n return (nodeName(elem, "input") || nodeName(elem, "button")) && elem.type === type;\n };\n }\n\n /**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\n function createDisabledPseudo(disabled) {\n // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n return function (elem) {\n // Only certain elements can match :enabled or :disabled\n // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n if ("form" in elem) {\n // Check for inherited disabledness on relevant non-disabled elements:\n // * listed form-associated elements in a disabled fieldset\n // https://html.spec.whatwg.org/multipage/forms.html#category-listed\n // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n // * option elements in a disabled optgroup\n // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n // All such elements have a "form" property.\n if (elem.parentNode && elem.disabled === false) {\n // Option elements defer to a parent optgroup if present\n if ("label" in elem) {\n if ("label" in elem.parentNode) {\n return elem.parentNode.disabled === disabled;\n } else {\n return elem.disabled === disabled;\n }\n }\n\n // Support: IE 6 - 11+\n // Use the isDisabled shortcut property to check for disabled fieldset ancestors\n return elem.isDisabled === disabled ||\n // Where there is no isDisabled, check manually\n elem.isDisabled !== !disabled && inDisabledFieldset(elem) === disabled;\n }\n return elem.disabled === disabled;\n\n // Try to winnow out elements that can\'t be disabled before trusting the disabled property.\n // Some victims get caught in our net (label, legend, menu, track), but it shouldn\'t\n // even exist on them, let alone have a boolean value.\n } else if ("label" in elem) {\n return elem.disabled === disabled;\n }\n\n // Remaining elements are neither :enabled nor :disabled\n return false;\n };\n }\n\n /**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\n function createPositionalPseudo(fn) {\n return markFunction(function (argument) {\n argument = +argument;\n return markFunction(function (seed, matches) {\n var j,\n matchIndexes = fn([], seed.length, argument),\n i = matchIndexes.length;\n\n // Match elements found at the specified indexes\n while (i--) {\n if (seed[j = matchIndexes[i]]) {\n seed[j] = !(matches[j] = seed[j]);\n }\n }\n });\n });\n }\n\n /**\n * Checks a node for validity as a jQuery selector context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\n function testContext(context) {\n return context && typeof context.getElementsByTagName !== "undefined" && context;\n }\n\n /**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [node] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\n function setDocument(node) {\n var subWindow,\n doc = node ? node.ownerDocument || node : preferredDoc;\n\n // Return early if doc is invalid or already selected\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a "Permission denied" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if (doc == document || doc.nodeType !== 9 || !doc.documentElement) {\n return document;\n }\n\n // Update global variables\n document = doc;\n documentElement = document.documentElement;\n documentIsHTML = !jQuery.isXMLDoc(document);\n\n // Support: iOS 7 only, IE 9 - 11+\n // Older browsers didn\'t support unprefixed `matches`.\n matches = documentElement.matches || documentElement.webkitMatchesSelector || documentElement.msMatchesSelector;\n\n // Support: IE 9 - 11+, Edge 12 - 18+\n // Accessing iframe documents after unload throws "permission denied" errors\n // (see trac-13936).\n // Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`,\n // all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well.\n if (documentElement.msMatchesSelector &&\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a "Permission denied" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n preferredDoc != document && (subWindow = document.defaultView) && subWindow.top !== subWindow) {\n // Support: IE 9 - 11+, Edge 12 - 18+\n subWindow.addEventListener("unload", unloadHandler);\n }\n\n // Support: IE <10\n // Check if getElementById returns elements by name\n // The broken getElementById methods don\'t pick up programmatically-set names,\n // so use a roundabout getElementsByName test\n support.getById = assert(function (el) {\n documentElement.appendChild(el).id = jQuery.expando;\n return !document.getElementsByName || !document.getElementsByName(jQuery.expando).length;\n });\n\n // Support: IE 9 only\n // Check to see if it\'s possible to do matchesSelector\n // on a disconnected node.\n support.disconnectedMatch = assert(function (el) {\n return matches.call(el, "*");\n });\n\n // Support: IE 9 - 11+, Edge 12 - 18+\n // IE/Edge don\'t support the :scope pseudo-class.\n support.scope = assert(function () {\n return document.querySelectorAll(":scope");\n });\n\n // Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only\n // Make sure the `:has()` argument is parsed unforgivingly.\n // We include `*` in the test to detect buggy implementations that are\n // _selectively_ forgiving (specifically when the list includes at least\n // one valid selector).\n // Note that we treat complete lack of support for `:has()` as if it were\n // spec-compliant support, which is fine because use of `:has()` in such\n // environments will fail in the qSA path and fall back to jQuery traversal\n // anyway.\n support.cssHas = assert(function () {\n try {\n document.querySelector(":has(*,:jqfake)");\n return false;\n } catch (e) {\n return true;\n }\n });\n\n // ID filter and find\n if (support.getById) {\n Expr.filter.ID = function (id) {\n var attrId = id.replace(runescape, funescape);\n return function (elem) {\n return elem.getAttribute("id") === attrId;\n };\n };\n Expr.find.ID = function (id, context) {\n if (typeof context.getElementById !== "undefined" && documentIsHTML) {\n var elem = context.getElementById(id);\n return elem ? [elem] : [];\n }\n };\n } else {\n Expr.filter.ID = function (id) {\n var attrId = id.replace(runescape, funescape);\n return function (elem) {\n var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");\n return node && node.value === attrId;\n };\n };\n\n // Support: IE 6 - 7 only\n // getElementById is not reliable as a find shortcut\n Expr.find.ID = function (id, context) {\n if (typeof context.getElementById !== "undefined" && documentIsHTML) {\n var node,\n i,\n elems,\n elem = context.getElementById(id);\n if (elem) {\n // Verify the id attribute\n node = elem.getAttributeNode("id");\n if (node && node.value === id) {\n return [elem];\n }\n\n // Fall back on getElementsByName\n elems = context.getElementsByName(id);\n i = 0;\n while (elem = elems[i++]) {\n node = elem.getAttributeNode("id");\n if (node && node.value === id) {\n return [elem];\n }\n }\n }\n return [];\n }\n };\n }\n\n // Tag\n Expr.find.TAG = function (tag, context) {\n if (typeof context.getElementsByTagName !== "undefined") {\n return context.getElementsByTagName(tag);\n\n // DocumentFragment nodes don\'t have gEBTN\n } else {\n return context.querySelectorAll(tag);\n }\n };\n\n // Class\n Expr.find.CLASS = function (className, context) {\n if (typeof context.getElementsByClassName !== "undefined" && documentIsHTML) {\n return context.getElementsByClassName(className);\n }\n };\n\n /* QSA/matchesSelector\n ---------------------------------------------------------------------- */\n\n // QSA and matchesSelector support\n\n rbuggyQSA = [];\n\n // Build QSA regex\n // Regex strategy adopted from Diego Perini\n assert(function (el) {\n var input;\n documentElement.appendChild(el).innerHTML = "" + "";\n\n // Support: iOS <=7 - 8 only\n // Boolean attributes and "value" are not treated correctly in some XML documents\n if (!el.querySelectorAll("[selected]").length) {\n rbuggyQSA.push("\\\\[" + whitespace + "*(?:value|" + booleans + ")");\n }\n\n // Support: iOS <=7 - 8 only\n if (!el.querySelectorAll("[id~=" + expando + "-]").length) {\n rbuggyQSA.push("~=");\n }\n\n // Support: iOS 8 only\n // https://bugs.webkit.org/show_bug.cgi?id=136851\n // In-page `selector#id sibling-combinator selector` fails\n if (!el.querySelectorAll("a#" + expando + "+*").length) {\n rbuggyQSA.push(".#.+[+~]");\n }\n\n // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+\n // In some of the document kinds, these selectors wouldn\'t work natively.\n // This is probably OK but for backwards compatibility we want to maintain\n // handling them through jQuery traversal in jQuery 3.x.\n if (!el.querySelectorAll(":checked").length) {\n rbuggyQSA.push(":checked");\n }\n\n // Support: Windows 8 Native Apps\n // The type and name attributes are restricted during .innerHTML assignment\n input = document.createElement("input");\n input.setAttribute("type", "hidden");\n el.appendChild(input).setAttribute("name", "D");\n\n // Support: IE 9 - 11+\n // IE\'s :disabled selector does not pick up the children of disabled fieldsets\n // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+\n // In some of the document kinds, these selectors wouldn\'t work natively.\n // This is probably OK but for backwards compatibility we want to maintain\n // handling them through jQuery traversal in jQuery 3.x.\n documentElement.appendChild(el).disabled = true;\n if (el.querySelectorAll(":disabled").length !== 2) {\n rbuggyQSA.push(":enabled", ":disabled");\n }\n\n // Support: IE 11+, Edge 15 - 18+\n // IE 11/Edge don\'t find elements on a `[name=\'\']` query in some cases.\n // Adding a temporary attribute to the document before the selection works\n // around the issue.\n // Interestingly, IE 10 & older don\'t seem to have the issue.\n input = document.createElement("input");\n input.setAttribute("name", "");\n el.appendChild(input);\n if (!el.querySelectorAll("[name=\'\']").length) {\n rbuggyQSA.push("\\\\[" + whitespace + "*name" + whitespace + "*=" + whitespace + "*(?:\'\'|\\"\\")");\n }\n });\n if (!support.cssHas) {\n // Support: Chrome 105 - 110+, Safari 15.4 - 16.3+\n // Our regular `try-catch` mechanism fails to detect natively-unsupported\n // pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`)\n // in browsers that parse the `:has()` argument as a forgiving selector list.\n // https://drafts.csswg.org/selectors/#relational now requires the argument\n // to be parsed unforgivingly, but browsers have not yet fully adjusted.\n rbuggyQSA.push(":has");\n }\n rbuggyQSA = rbuggyQSA.length && new RegExp(rbuggyQSA.join("|"));\n\n /* Sorting\n ---------------------------------------------------------------------- */\n\n // Document order sorting\n sortOrder = function sortOrder(a, b) {\n // Flag for duplicate removal\n if (a === b) {\n hasDuplicate = true;\n return 0;\n }\n\n // Sort on method existence if only one input has compareDocumentPosition\n var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n if (compare) {\n return compare;\n }\n\n // Calculate position if both inputs belong to the same document\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a "Permission denied" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n compare = (a.ownerDocument || a) == (b.ownerDocument || b) ? a.compareDocumentPosition(b) :\n // Otherwise we know they are disconnected\n 1;\n\n // Disconnected nodes\n if (compare & 1 || !support.sortDetached && b.compareDocumentPosition(a) === compare) {\n // Choose the first element that is related to our preferred document\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a "Permission denied" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if (a === document || a.ownerDocument == preferredDoc && find.contains(preferredDoc, a)) {\n return -1;\n }\n\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a "Permission denied" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if (b === document || b.ownerDocument == preferredDoc && find.contains(preferredDoc, b)) {\n return 1;\n }\n\n // Maintain original order\n return sortInput ? indexOf.call(sortInput, a) - indexOf.call(sortInput, b) : 0;\n }\n return compare & 4 ? -1 : 1;\n };\n return document;\n }\n find.matches = function (expr, elements) {\n return find(expr, null, null, elements);\n };\n find.matchesSelector = function (elem, expr) {\n setDocument(elem);\n if (documentIsHTML && !nonnativeSelectorCache[expr + " "] && (!rbuggyQSA || !rbuggyQSA.test(expr))) {\n try {\n var ret = matches.call(elem, expr);\n\n // IE 9\'s matchesSelector returns false on disconnected nodes\n if (ret || support.disconnectedMatch ||\n // As well, disconnected nodes are said to be in a document\n // fragment in IE 9\n elem.document && elem.document.nodeType !== 11) {\n return ret;\n }\n } catch (e) {\n nonnativeSelectorCache(expr, true);\n }\n }\n return find(expr, document, null, [elem]).length > 0;\n };\n find.contains = function (context, elem) {\n // Set document vars if needed\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a "Permission denied" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if ((context.ownerDocument || context) != document) {\n setDocument(context);\n }\n return jQuery.contains(context, elem);\n };\n find.attr = function (elem, name) {\n // Set document vars if needed\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a "Permission denied" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if ((elem.ownerDocument || elem) != document) {\n setDocument(elem);\n }\n var fn = Expr.attrHandle[name.toLowerCase()],\n // Don\'t get fooled by Object.prototype properties (see trac-13807)\n val = fn && hasOwn.call(Expr.attrHandle, name.toLowerCase()) ? fn(elem, name, !documentIsHTML) : undefined;\n if (val !== undefined) {\n return val;\n }\n return elem.getAttribute(name);\n };\n find.error = function (msg) {\n throw new Error("Syntax error, unrecognized expression: " + msg);\n };\n\n /**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\n jQuery.uniqueSort = function (results) {\n var elem,\n duplicates = [],\n j = 0,\n i = 0;\n\n // Unless we *know* we can detect duplicates, assume their presence\n //\n // Support: Android <=4.0+\n // Testing for detecting duplicates is unpredictable so instead assume we can\'t\n // depend on duplicate detection in all browsers without a stable sort.\n hasDuplicate = !support.sortStable;\n sortInput = !support.sortStable && _slice.call(results, 0);\n sort.call(results, sortOrder);\n if (hasDuplicate) {\n while (elem = results[i++]) {\n if (elem === results[i]) {\n j = duplicates.push(i);\n }\n }\n while (j--) {\n splice.call(results, duplicates[j], 1);\n }\n }\n\n // Clear input after sorting to release objects\n // See https://github.com/jquery/sizzle/pull/225\n sortInput = null;\n return results;\n };\n jQuery.fn.uniqueSort = function () {\n return this.pushStack(jQuery.uniqueSort(_slice.apply(this)));\n };\n Expr = jQuery.expr = {\n // Can be adjusted by the user\n cacheLength: 50,\n createPseudo: markFunction,\n match: matchExpr,\n attrHandle: {},\n find: {},\n relative: {\n ">": {\n dir: "parentNode",\n first: true\n },\n " ": {\n dir: "parentNode"\n },\n "+": {\n dir: "previousSibling",\n first: true\n },\n "~": {\n dir: "previousSibling"\n }\n },\n preFilter: {\n ATTR: function ATTR(match) {\n match[1] = match[1].replace(runescape, funescape);\n\n // Move the given value to match[3] whether quoted or unquoted\n match[3] = (match[3] || match[4] || match[5] || "").replace(runescape, funescape);\n if (match[2] === "~=") {\n match[3] = " " + match[3] + " ";\n }\n return match.slice(0, 4);\n },\n CHILD: function CHILD(match) {\n /* matches from matchExpr["CHILD"]\n \t1 type (only|nth|...)\n \t2 what (child|of-type)\n \t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n \t4 xn-component of xn+y argument ([+-]?\\d*n|)\n \t5 sign of xn-component\n \t6 x of xn-component\n \t7 sign of y-component\n \t8 y of y-component\n */\n match[1] = match[1].toLowerCase();\n if (match[1].slice(0, 3) === "nth") {\n // nth-* requires argument\n if (!match[3]) {\n find.error(match[0]);\n }\n\n // numeric x and y parameters for Expr.filter.CHILD\n // remember that false/true cast respectively to 0/1\n match[4] = +(match[4] ? match[5] + (match[6] || 1) : 2 * (match[3] === "even" || match[3] === "odd"));\n match[5] = +(match[7] + match[8] || match[3] === "odd");\n\n // other types prohibit arguments\n } else if (match[3]) {\n find.error(match[0]);\n }\n return match;\n },\n PSEUDO: function PSEUDO(match) {\n var excess,\n unquoted = !match[6] && match[2];\n if (matchExpr.CHILD.test(match[0])) {\n return null;\n }\n\n // Accept quoted arguments as-is\n if (match[3]) {\n match[2] = match[4] || match[5] || "";\n\n // Strip excess characters from unquoted arguments\n } else if (unquoted && rpseudo.test(unquoted) && (\n // Get excess from tokenize (recursively)\n excess = tokenize(unquoted, true)) && (\n // advance to the next closing parenthesis\n excess = unquoted.indexOf(")", unquoted.length - excess) - unquoted.length)) {\n // excess is a negative index\n match[0] = match[0].slice(0, excess);\n match[2] = unquoted.slice(0, excess);\n }\n\n // Return only captures needed by the pseudo filter method (type and argument)\n return match.slice(0, 3);\n }\n },\n filter: {\n TAG: function TAG(nodeNameSelector) {\n var expectedNodeName = nodeNameSelector.replace(runescape, funescape).toLowerCase();\n return nodeNameSelector === "*" ? function () {\n return true;\n } : function (elem) {\n return nodeName(elem, expectedNodeName);\n };\n },\n CLASS: function CLASS(className) {\n var pattern = classCache[className + " "];\n return pattern || (pattern = new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)")) && classCache(className, function (elem) {\n return pattern.test(typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "");\n });\n },\n ATTR: function ATTR(name, operator, check) {\n return function (elem) {\n var result = find.attr(elem, name);\n if (result == null) {\n return operator === "!=";\n }\n if (!operator) {\n return true;\n }\n result += "";\n if (operator === "=") {\n return result === check;\n }\n if (operator === "!=") {\n return result !== check;\n }\n if (operator === "^=") {\n return check && result.indexOf(check) === 0;\n }\n if (operator === "*=") {\n return check && result.indexOf(check) > -1;\n }\n if (operator === "$=") {\n return check && result.slice(-check.length) === check;\n }\n if (operator === "~=") {\n return (" " + result.replace(rwhitespace, " ") + " ").indexOf(check) > -1;\n }\n if (operator === "|=") {\n return result === check || result.slice(0, check.length + 1) === check + "-";\n }\n return false;\n };\n },\n CHILD: function CHILD(type, what, _argument, first, last) {\n var simple = type.slice(0, 3) !== "nth",\n forward = type.slice(-4) !== "last",\n ofType = what === "of-type";\n return first === 1 && last === 0 ?\n // Shortcut for :nth-*(n)\n function (elem) {\n return !!elem.parentNode;\n } : function (elem, _context, xml) {\n var cache,\n outerCache,\n node,\n nodeIndex,\n start,\n dir = simple !== forward ? "nextSibling" : "previousSibling",\n parent = elem.parentNode,\n name = ofType && elem.nodeName.toLowerCase(),\n useCache = !xml && !ofType,\n diff = false;\n if (parent) {\n // :(first|last|only)-(child|of-type)\n if (simple) {\n while (dir) {\n node = elem;\n while (node = node[dir]) {\n if (ofType ? nodeName(node, name) : node.nodeType === 1) {\n return false;\n }\n }\n\n // Reverse direction for :only-* (if we haven\'t yet done so)\n start = dir = type === "only" && !start && "nextSibling";\n }\n return true;\n }\n start = [forward ? parent.firstChild : parent.lastChild];\n\n // non-xml :nth-child(...) stores cache data on `parent`\n if (forward && useCache) {\n // Seek `elem` from a previously-cached index\n outerCache = parent[expando] || (parent[expando] = {});\n cache = outerCache[type] || [];\n nodeIndex = cache[0] === dirruns && cache[1];\n diff = nodeIndex && cache[2];\n node = nodeIndex && parent.childNodes[nodeIndex];\n while (node = ++nodeIndex && node && node[dir] || (\n // Fallback to seeking `elem` from the start\n diff = nodeIndex = 0) || start.pop()) {\n // When found, cache indexes on `parent` and break\n if (node.nodeType === 1 && ++diff && node === elem) {\n outerCache[type] = [dirruns, nodeIndex, diff];\n break;\n }\n }\n } else {\n // Use previously-cached element index if available\n if (useCache) {\n outerCache = elem[expando] || (elem[expando] = {});\n cache = outerCache[type] || [];\n nodeIndex = cache[0] === dirruns && cache[1];\n diff = nodeIndex;\n }\n\n // xml :nth-child(...)\n // or :nth-last-child(...) or :nth(-last)?-of-type(...)\n if (diff === false) {\n // Use the same loop as above to seek `elem` from the start\n while (node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0) || start.pop()) {\n if ((ofType ? nodeName(node, name) : node.nodeType === 1) && ++diff) {\n // Cache the index of each encountered element\n if (useCache) {\n outerCache = node[expando] || (node[expando] = {});\n outerCache[type] = [dirruns, diff];\n }\n if (node === elem) {\n break;\n }\n }\n }\n }\n }\n\n // Incorporate the offset, then check against cycle size\n diff -= last;\n return diff === first || diff % first === 0 && diff / first >= 0;\n }\n };\n },\n PSEUDO: function PSEUDO(pseudo, argument) {\n // pseudo-class names are case-insensitive\n // https://www.w3.org/TR/selectors/#pseudo-classes\n // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n // Remember that setFilters inherits from pseudos\n var args,\n fn = Expr.pseudos[pseudo] || Expr.setFilters[pseudo.toLowerCase()] || find.error("unsupported pseudo: " + pseudo);\n\n // The user may use createPseudo to indicate that\n // arguments are needed to create the filter function\n // just as jQuery does\n if (fn[expando]) {\n return fn(argument);\n }\n\n // But maintain support for old signatures\n if (fn.length > 1) {\n args = [pseudo, pseudo, "", argument];\n return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase()) ? markFunction(function (seed, matches) {\n var idx,\n matched = fn(seed, argument),\n i = matched.length;\n while (i--) {\n idx = indexOf.call(seed, matched[i]);\n seed[idx] = !(matches[idx] = matched[i]);\n }\n }) : function (elem) {\n return fn(elem, 0, args);\n };\n }\n return fn;\n }\n },\n pseudos: {\n // Potentially complex pseudos\n not: markFunction(function (selector) {\n // Trim the selector passed to compile\n // to avoid treating leading and trailing\n // spaces as combinators\n var input = [],\n results = [],\n matcher = compile(selector.replace(rtrimCSS, "$1"));\n return matcher[expando] ? markFunction(function (seed, matches, _context, xml) {\n var elem,\n unmatched = matcher(seed, null, xml, []),\n i = seed.length;\n\n // Match elements unmatched by `matcher`\n while (i--) {\n if (elem = unmatched[i]) {\n seed[i] = !(matches[i] = elem);\n }\n }\n }) : function (elem, _context, xml) {\n input[0] = elem;\n matcher(input, null, xml, results);\n\n // Don\'t keep the element\n // (see https://github.com/jquery/sizzle/issues/299)\n input[0] = null;\n return !results.pop();\n };\n }),\n has: markFunction(function (selector) {\n return function (elem) {\n return find(selector, elem).length > 0;\n };\n }),\n contains: markFunction(function (text) {\n text = text.replace(runescape, funescape);\n return function (elem) {\n return (elem.textContent || jQuery.text(elem)).indexOf(text) > -1;\n };\n }),\n // "Whether an element is represented by a :lang() selector\n // is based solely on the element\'s language value\n // being equal to the identifier C,\n // or beginning with the identifier C immediately followed by "-".\n // The matching of C against the element\'s language value is performed case-insensitively.\n // The identifier C does not have to be a valid language name."\n // https://www.w3.org/TR/selectors/#lang-pseudo\n lang: markFunction(function (lang) {\n // lang value must be a valid identifier\n if (!ridentifier.test(lang || "")) {\n find.error("unsupported lang: " + lang);\n }\n lang = lang.replace(runescape, funescape).toLowerCase();\n return function (elem) {\n var elemLang;\n do {\n if (elemLang = documentIsHTML ? elem.lang : elem.getAttribute("xml:lang") || elem.getAttribute("lang")) {\n elemLang = elemLang.toLowerCase();\n return elemLang === lang || elemLang.indexOf(lang + "-") === 0;\n }\n } while ((elem = elem.parentNode) && elem.nodeType === 1);\n return false;\n };\n }),\n // Miscellaneous\n target: function target(elem) {\n var hash = window.location && window.location.hash;\n return hash && hash.slice(1) === elem.id;\n },\n root: function root(elem) {\n return elem === documentElement;\n },\n focus: function focus(elem) {\n return elem === safeActiveElement() && document.hasFocus() && !!(elem.type || elem.href || ~elem.tabIndex);\n },\n // Boolean properties\n enabled: createDisabledPseudo(false),\n disabled: createDisabledPseudo(true),\n checked: function checked(elem) {\n // In CSS3, :checked should return both checked and selected elements\n // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n return nodeName(elem, "input") && !!elem.checked || nodeName(elem, "option") && !!elem.selected;\n },\n selected: function selected(elem) {\n // Support: IE <=11+\n // Accessing the selectedIndex property\n // forces the browser to treat the default option as\n // selected when in an optgroup.\n if (elem.parentNode) {\n // eslint-disable-next-line no-unused-expressions\n elem.parentNode.selectedIndex;\n }\n return elem.selected === true;\n },\n // Contents\n empty: function empty(elem) {\n // https://www.w3.org/TR/selectors/#empty-pseudo\n // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n // but not by others (comment: 8; processing instruction: 7; etc.)\n // nodeType < 6 works because attributes (2) do not appear as children\n for (elem = elem.firstChild; elem; elem = elem.nextSibling) {\n if (elem.nodeType < 6) {\n return false;\n }\n }\n return true;\n },\n parent: function parent(elem) {\n return !Expr.pseudos.empty(elem);\n },\n // Element/input types\n header: function header(elem) {\n return rheader.test(elem.nodeName);\n },\n input: function input(elem) {\n return rinputs.test(elem.nodeName);\n },\n button: function button(elem) {\n return nodeName(elem, "input") && elem.type === "button" || nodeName(elem, "button");\n },\n text: function text(elem) {\n var attr;\n return nodeName(elem, "input") && elem.type === "text" && (\n // Support: IE <10 only\n // New HTML5 attribute values (e.g., "search") appear\n // with elem.type === "text"\n (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text");\n },\n // Position-in-collection\n first: createPositionalPseudo(function () {\n return [0];\n }),\n last: createPositionalPseudo(function (_matchIndexes, length) {\n return [length - 1];\n }),\n eq: createPositionalPseudo(function (_matchIndexes, length, argument) {\n return [argument < 0 ? argument + length : argument];\n }),\n even: createPositionalPseudo(function (matchIndexes, length) {\n var i = 0;\n for (; i < length; i += 2) {\n matchIndexes.push(i);\n }\n return matchIndexes;\n }),\n odd: createPositionalPseudo(function (matchIndexes, length) {\n var i = 1;\n for (; i < length; i += 2) {\n matchIndexes.push(i);\n }\n return matchIndexes;\n }),\n lt: createPositionalPseudo(function (matchIndexes, length, argument) {\n var i;\n if (argument < 0) {\n i = argument + length;\n } else if (argument > length) {\n i = length;\n } else {\n i = argument;\n }\n for (; --i >= 0;) {\n matchIndexes.push(i);\n }\n return matchIndexes;\n }),\n gt: createPositionalPseudo(function (matchIndexes, length, argument) {\n var i = argument < 0 ? argument + length : argument;\n for (; ++i < length;) {\n matchIndexes.push(i);\n }\n return matchIndexes;\n })\n }\n };\n Expr.pseudos.nth = Expr.pseudos.eq;\n\n // Add button/input type pseudos\n for (i in {\n radio: true,\n checkbox: true,\n file: true,\n password: true,\n image: true\n }) {\n Expr.pseudos[i] = createInputPseudo(i);\n }\n for (i in {\n submit: true,\n reset: true\n }) {\n Expr.pseudos[i] = createButtonPseudo(i);\n }\n\n // Easy API for creating new setFilters\n function setFilters() {}\n setFilters.prototype = Expr.filters = Expr.pseudos;\n Expr.setFilters = new setFilters();\n function tokenize(selector, parseOnly) {\n var matched,\n match,\n tokens,\n type,\n soFar,\n groups,\n preFilters,\n cached = tokenCache[selector + " "];\n if (cached) {\n return parseOnly ? 0 : cached.slice(0);\n }\n soFar = selector;\n groups = [];\n preFilters = Expr.preFilter;\n while (soFar) {\n // Comma and first run\n if (!matched || (match = rcomma.exec(soFar))) {\n if (match) {\n // Don\'t consume trailing commas as valid\n soFar = soFar.slice(match[0].length) || soFar;\n }\n groups.push(tokens = []);\n }\n matched = false;\n\n // Combinators\n if (match = rleadingCombinator.exec(soFar)) {\n matched = match.shift();\n tokens.push({\n value: matched,\n // Cast descendant combinators to space\n type: match[0].replace(rtrimCSS, " ")\n });\n soFar = soFar.slice(matched.length);\n }\n\n // Filters\n for (type in Expr.filter) {\n if ((match = matchExpr[type].exec(soFar)) && (!preFilters[type] || (match = preFilters[type](match)))) {\n matched = match.shift();\n tokens.push({\n value: matched,\n type: type,\n matches: match\n });\n soFar = soFar.slice(matched.length);\n }\n }\n if (!matched) {\n break;\n }\n }\n\n // Return the length of the invalid excess\n // if we\'re just parsing\n // Otherwise, throw an error or return tokens\n if (parseOnly) {\n return soFar.length;\n }\n return soFar ? find.error(selector) :\n // Cache the tokens\n tokenCache(selector, groups).slice(0);\n }\n function toSelector(tokens) {\n var i = 0,\n len = tokens.length,\n selector = "";\n for (; i < len; i++) {\n selector += tokens[i].value;\n }\n return selector;\n }\n function addCombinator(matcher, combinator, base) {\n var dir = combinator.dir,\n skip = combinator.next,\n key = skip || dir,\n checkNonElements = base && key === "parentNode",\n doneName = done++;\n return combinator.first ?\n // Check against closest ancestor/preceding element\n function (elem, context, xml) {\n while (elem = elem[dir]) {\n if (elem.nodeType === 1 || checkNonElements) {\n return matcher(elem, context, xml);\n }\n }\n return false;\n } :\n // Check against all ancestor/preceding elements\n function (elem, context, xml) {\n var oldCache,\n outerCache,\n newCache = [dirruns, doneName];\n\n // We can\'t set arbitrary data on XML nodes, so they don\'t benefit from combinator caching\n if (xml) {\n while (elem = elem[dir]) {\n if (elem.nodeType === 1 || checkNonElements) {\n if (matcher(elem, context, xml)) {\n return true;\n }\n }\n }\n } else {\n while (elem = elem[dir]) {\n if (elem.nodeType === 1 || checkNonElements) {\n outerCache = elem[expando] || (elem[expando] = {});\n if (skip && nodeName(elem, skip)) {\n elem = elem[dir] || elem;\n } else if ((oldCache = outerCache[key]) && oldCache[0] === dirruns && oldCache[1] === doneName) {\n // Assign to newCache so results back-propagate to previous elements\n return newCache[2] = oldCache[2];\n } else {\n // Reuse newcache so results back-propagate to previous elements\n outerCache[key] = newCache;\n\n // A match means we\'re done; a fail means we have to keep checking\n if (newCache[2] = matcher(elem, context, xml)) {\n return true;\n }\n }\n }\n }\n }\n return false;\n };\n }\n function elementMatcher(matchers) {\n return matchers.length > 1 ? function (elem, context, xml) {\n var i = matchers.length;\n while (i--) {\n if (!matchers[i](elem, context, xml)) {\n return false;\n }\n }\n return true;\n } : matchers[0];\n }\n function multipleContexts(selector, contexts, results) {\n var i = 0,\n len = contexts.length;\n for (; i < len; i++) {\n find(selector, contexts[i], results);\n }\n return results;\n }\n function condense(unmatched, map, filter, context, xml) {\n var elem,\n newUnmatched = [],\n i = 0,\n len = unmatched.length,\n mapped = map != null;\n for (; i < len; i++) {\n if (elem = unmatched[i]) {\n if (!filter || filter(elem, context, xml)) {\n newUnmatched.push(elem);\n if (mapped) {\n map.push(i);\n }\n }\n }\n }\n return newUnmatched;\n }\n function setMatcher(preFilter, selector, matcher, postFilter, postFinder, postSelector) {\n if (postFilter && !postFilter[expando]) {\n postFilter = setMatcher(postFilter);\n }\n if (postFinder && !postFinder[expando]) {\n postFinder = setMatcher(postFinder, postSelector);\n }\n return markFunction(function (seed, results, context, xml) {\n var temp,\n i,\n elem,\n matcherOut,\n preMap = [],\n postMap = [],\n preexisting = results.length,\n // Get initial elements from seed or context\n elems = seed || multipleContexts(selector || "*", context.nodeType ? [context] : context, []),\n // Prefilter to get matcher input, preserving a map for seed-results synchronization\n matcherIn = preFilter && (seed || !selector) ? condense(elems, preMap, preFilter, context, xml) : elems;\n if (matcher) {\n // If we have a postFinder, or filtered seed, or non-seed postFilter\n // or preexisting results,\n matcherOut = postFinder || (seed ? preFilter : preexisting || postFilter) ?\n // ...intermediate processing is necessary\n [] :\n // ...otherwise use results directly\n results;\n\n // Find primary matches\n matcher(matcherIn, matcherOut, context, xml);\n } else {\n matcherOut = matcherIn;\n }\n\n // Apply postFilter\n if (postFilter) {\n temp = condense(matcherOut, postMap);\n postFilter(temp, [], context, xml);\n\n // Un-match failing elements by moving them back to matcherIn\n i = temp.length;\n while (i--) {\n if (elem = temp[i]) {\n matcherOut[postMap[i]] = !(matcherIn[postMap[i]] = elem);\n }\n }\n }\n if (seed) {\n if (postFinder || preFilter) {\n if (postFinder) {\n // Get the final matcherOut by condensing this intermediate into postFinder contexts\n temp = [];\n i = matcherOut.length;\n while (i--) {\n if (elem = matcherOut[i]) {\n // Restore matcherIn since elem is not yet a final match\n temp.push(matcherIn[i] = elem);\n }\n }\n postFinder(null, matcherOut = [], temp, xml);\n }\n\n // Move matched elements from seed to results to keep them synchronized\n i = matcherOut.length;\n while (i--) {\n if ((elem = matcherOut[i]) && (temp = postFinder ? indexOf.call(seed, elem) : preMap[i]) > -1) {\n seed[temp] = !(results[temp] = elem);\n }\n }\n }\n\n // Add elements to results, through postFinder if defined\n } else {\n matcherOut = condense(matcherOut === results ? matcherOut.splice(preexisting, matcherOut.length) : matcherOut);\n if (postFinder) {\n postFinder(null, results, matcherOut, xml);\n } else {\n push.apply(results, matcherOut);\n }\n }\n });\n }\n function matcherFromTokens(tokens) {\n var checkContext,\n matcher,\n j,\n len = tokens.length,\n leadingRelative = Expr.relative[tokens[0].type],\n implicitRelative = leadingRelative || Expr.relative[" "],\n i = leadingRelative ? 1 : 0,\n // The foundational matcher ensures that elements are reachable from top-level context(s)\n matchContext = addCombinator(function (elem) {\n return elem === checkContext;\n }, implicitRelative, true),\n matchAnyContext = addCombinator(function (elem) {\n return indexOf.call(checkContext, elem) > -1;\n }, implicitRelative, true),\n matchers = [function (elem, context, xml) {\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a "Permission denied" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n var ret = !leadingRelative && (xml || context != outermostContext) || ((checkContext = context).nodeType ? matchContext(elem, context, xml) : matchAnyContext(elem, context, xml));\n\n // Avoid hanging onto element\n // (see https://github.com/jquery/sizzle/issues/299)\n checkContext = null;\n return ret;\n }];\n for (; i < len; i++) {\n if (matcher = Expr.relative[tokens[i].type]) {\n matchers = [addCombinator(elementMatcher(matchers), matcher)];\n } else {\n matcher = Expr.filter[tokens[i].type].apply(null, tokens[i].matches);\n\n // Return special upon seeing a positional matcher\n if (matcher[expando]) {\n // Find the next relative operator (if any) for proper handling\n j = ++i;\n for (; j < len; j++) {\n if (Expr.relative[tokens[j].type]) {\n break;\n }\n }\n return setMatcher(i > 1 && elementMatcher(matchers), i > 1 && toSelector(\n // If the preceding token was a descendant combinator, insert an implicit any-element `*`\n tokens.slice(0, i - 1).concat({\n value: tokens[i - 2].type === " " ? "*" : ""\n })).replace(rtrimCSS, "$1"), matcher, i < j && matcherFromTokens(tokens.slice(i, j)), j < len && matcherFromTokens(tokens = tokens.slice(j)), j < len && toSelector(tokens));\n }\n matchers.push(matcher);\n }\n }\n return elementMatcher(matchers);\n }\n function matcherFromGroupMatchers(elementMatchers, setMatchers) {\n var bySet = setMatchers.length > 0,\n byElement = elementMatchers.length > 0,\n superMatcher = function superMatcher(seed, context, xml, results, outermost) {\n var elem,\n j,\n matcher,\n matchedCount = 0,\n i = "0",\n unmatched = seed && [],\n setMatched = [],\n contextBackup = outermostContext,\n // We must always have either seed elements or outermost context\n elems = seed || byElement && Expr.find.TAG("*", outermost),\n // Use integer dirruns iff this is the outermost matcher\n dirrunsUnique = dirruns += contextBackup == null ? 1 : Math.random() || 0.1,\n len = elems.length;\n if (outermost) {\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a "Permission denied" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n outermostContext = context == document || context || outermost;\n }\n\n // Add elements passing elementMatchers directly to results\n // Support: iOS <=7 - 9 only\n // Tolerate NodeList properties (IE: "length"; Safari: ) matching\n // elements by id. (see trac-14142)\n for (; i !== len && (elem = elems[i]) != null; i++) {\n if (byElement && elem) {\n j = 0;\n\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a "Permission denied" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if (!context && elem.ownerDocument != document) {\n setDocument(elem);\n xml = !documentIsHTML;\n }\n while (matcher = elementMatchers[j++]) {\n if (matcher(elem, context || document, xml)) {\n push.call(results, elem);\n break;\n }\n }\n if (outermost) {\n dirruns = dirrunsUnique;\n }\n }\n\n // Track unmatched elements for set filters\n if (bySet) {\n // They will have gone through all possible matchers\n if (elem = !matcher && elem) {\n matchedCount--;\n }\n\n // Lengthen the array for every element, matched or not\n if (seed) {\n unmatched.push(elem);\n }\n }\n }\n\n // `i` is now the count of elements visited above, and adding it to `matchedCount`\n // makes the latter nonnegative.\n matchedCount += i;\n\n // Apply set filters to unmatched elements\n // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n // equals `i`), unless we didn\'t visit _any_ elements in the above loop because we have\n // no element matchers and no seed.\n // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that\n // case, which will result in a "00" `matchedCount` that differs from `i` but is also\n // numerically zero.\n if (bySet && i !== matchedCount) {\n j = 0;\n while (matcher = setMatchers[j++]) {\n matcher(unmatched, setMatched, context, xml);\n }\n if (seed) {\n // Reintegrate element matches to eliminate the need for sorting\n if (matchedCount > 0) {\n while (i--) {\n if (!(unmatched[i] || setMatched[i])) {\n setMatched[i] = pop.call(results);\n }\n }\n }\n\n // Discard index placeholder values to get only actual matches\n setMatched = condense(setMatched);\n }\n\n // Add matches to results\n push.apply(results, setMatched);\n\n // Seedless set matches succeeding multiple successful matchers stipulate sorting\n if (outermost && !seed && setMatched.length > 0 && matchedCount + setMatchers.length > 1) {\n jQuery.uniqueSort(results);\n }\n }\n\n // Override manipulation of globals by nested matchers\n if (outermost) {\n dirruns = dirrunsUnique;\n outermostContext = contextBackup;\n }\n return unmatched;\n };\n return bySet ? markFunction(superMatcher) : superMatcher;\n }\n function compile(selector, match /* Internal Use Only */) {\n var i,\n setMatchers = [],\n elementMatchers = [],\n cached = compilerCache[selector + " "];\n if (!cached) {\n // Generate a function of recursive functions that can be used to check each element\n if (!match) {\n match = tokenize(selector);\n }\n i = match.length;\n while (i--) {\n cached = matcherFromTokens(match[i]);\n if (cached[expando]) {\n setMatchers.push(cached);\n } else {\n elementMatchers.push(cached);\n }\n }\n\n // Cache the compiled function\n cached = compilerCache(selector, matcherFromGroupMatchers(elementMatchers, setMatchers));\n\n // Save selector and tokenization\n cached.selector = selector;\n }\n return cached;\n }\n\n /**\n * A low-level selection function that works with jQuery\'s compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with jQuery selector compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\n function select(selector, context, results, seed) {\n var i,\n tokens,\n token,\n type,\n find,\n compiled = typeof selector === "function" && selector,\n match = !seed && tokenize(selector = compiled.selector || selector);\n results = results || [];\n\n // Try to minimize operations if there is only one selector in the list and no seed\n // (the latter of which guarantees us context)\n if (match.length === 1) {\n // Reduce context if the leading compound selector is an ID\n tokens = match[0] = match[0].slice(0);\n if (tokens.length > 2 && (token = tokens[0]).type === "ID" && context.nodeType === 9 && documentIsHTML && Expr.relative[tokens[1].type]) {\n context = (Expr.find.ID(token.matches[0].replace(runescape, funescape), context) || [])[0];\n if (!context) {\n return results;\n\n // Precompiled matchers will still verify ancestry, so step up a level\n } else if (compiled) {\n context = context.parentNode;\n }\n selector = selector.slice(tokens.shift().value.length);\n }\n\n // Fetch a seed set for right-to-left matching\n i = matchExpr.needsContext.test(selector) ? 0 : tokens.length;\n while (i--) {\n token = tokens[i];\n\n // Abort if we hit a combinator\n if (Expr.relative[type = token.type]) {\n break;\n }\n if (find = Expr.find[type]) {\n // Search, expanding context for leading sibling combinators\n if (seed = find(token.matches[0].replace(runescape, funescape), rsibling.test(tokens[0].type) && testContext(context.parentNode) || context)) {\n // If seed is empty or no tokens remain, we can return early\n tokens.splice(i, 1);\n selector = seed.length && toSelector(tokens);\n if (!selector) {\n push.apply(results, seed);\n return results;\n }\n break;\n }\n }\n }\n }\n\n // Compile and execute a filtering function if one is not provided\n // Provide `match` to avoid retokenization if we modified the selector above\n (compiled || compile(selector, match))(seed, context, !documentIsHTML, results, !context || rsibling.test(selector) && testContext(context.parentNode) || context);\n return results;\n }\n\n // One-time assignments\n\n // Support: Android <=4.0 - 4.1+\n // Sort stability\n support.sortStable = expando.split("").sort(sortOrder).join("") === expando;\n\n // Initialize against the default document\n setDocument();\n\n // Support: Android <=4.0 - 4.1+\n // Detached nodes confoundingly follow *each other*\n support.sortDetached = assert(function (el) {\n // Should return 1, but returns 4 (following)\n return el.compareDocumentPosition(document.createElement("fieldset")) & 1;\n });\n jQuery.find = find;\n\n // Deprecated\n jQuery.expr[":"] = jQuery.expr.pseudos;\n jQuery.unique = jQuery.uniqueSort;\n\n // These have always been private, but they used to be documented as part of\n // Sizzle so let\'s maintain them for now for backwards compatibility purposes.\n find.compile = compile;\n find.select = select;\n find.setDocument = setDocument;\n find.tokenize = tokenize;\n find.escape = jQuery.escapeSelector;\n find.getText = jQuery.text;\n find.isXML = jQuery.isXMLDoc;\n find.selectors = jQuery.expr;\n find.support = jQuery.support;\n find.uniqueSort = jQuery.uniqueSort;\n\n /* eslint-enable */\n })();\n var dir = function dir(elem, _dir, until) {\n var matched = [],\n truncate = until !== undefined;\n while ((elem = elem[_dir]) && elem.nodeType !== 9) {\n if (elem.nodeType === 1) {\n if (truncate && jQuery(elem).is(until)) {\n break;\n }\n matched.push(elem);\n }\n }\n return matched;\n };\n var _siblings = function siblings(n, elem) {\n var matched = [];\n for (; n; n = n.nextSibling) {\n if (n.nodeType === 1 && n !== elem) {\n matched.push(n);\n }\n }\n return matched;\n };\n var rneedsContext = jQuery.expr.match.needsContext;\n var rsingleTag = /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;\n\n // Implement the identical functionality for filter and not\n function winnow(elements, qualifier, not) {\n if (isFunction(qualifier)) {\n return jQuery.grep(elements, function (elem, i) {\n return !!qualifier.call(elem, i, elem) !== not;\n });\n }\n\n // Single element\n if (qualifier.nodeType) {\n return jQuery.grep(elements, function (elem) {\n return elem === qualifier !== not;\n });\n }\n\n // Arraylike of elements (jQuery, arguments, Array)\n if (typeof qualifier !== "string") {\n return jQuery.grep(elements, function (elem) {\n return indexOf.call(qualifier, elem) > -1 !== not;\n });\n }\n\n // Filtered directly for both simple and complex selectors\n return jQuery.filter(qualifier, elements, not);\n }\n jQuery.filter = function (expr, elems, not) {\n var elem = elems[0];\n if (not) {\n expr = ":not(" + expr + ")";\n }\n if (elems.length === 1 && elem.nodeType === 1) {\n return jQuery.find.matchesSelector(elem, expr) ? [elem] : [];\n }\n return jQuery.find.matches(expr, jQuery.grep(elems, function (elem) {\n return elem.nodeType === 1;\n }));\n };\n jQuery.fn.extend({\n find: function find(selector) {\n var i,\n ret,\n len = this.length,\n self = this;\n if (typeof selector !== "string") {\n return this.pushStack(jQuery(selector).filter(function () {\n for (i = 0; i < len; i++) {\n if (jQuery.contains(self[i], this)) {\n return true;\n }\n }\n }));\n }\n ret = this.pushStack([]);\n for (i = 0; i < len; i++) {\n jQuery.find(selector, self[i], ret);\n }\n return len > 1 ? jQuery.uniqueSort(ret) : ret;\n },\n filter: function filter(selector) {\n return this.pushStack(winnow(this, selector || [], false));\n },\n not: function not(selector) {\n return this.pushStack(winnow(this, selector || [], true));\n },\n is: function is(selector) {\n return !!winnow(this,\n // If this is a positional/relative selector, check membership in the returned set\n // so $("p:first").is("p:last") won\'t return true for a doc with two "p".\n typeof selector === "string" && rneedsContext.test(selector) ? jQuery(selector) : selector || [], false).length;\n }\n });\n\n // Initialize a jQuery object\n\n // A central reference to the root jQuery(document)\n var rootjQuery,\n // A simple way to check for HTML strings\n // Prioritize #id over to avoid XSS via location.hash (trac-9521)\n // Strict HTML recognition (trac-11290: must start with <)\n // Shortcut simple #id case for speed\n rquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n init = jQuery.fn.init = function (selector, context, root) {\n var match, elem;\n\n // HANDLE: $(""), $(null), $(undefined), $(false)\n if (!selector) {\n return this;\n }\n\n // Method init() accepts an alternate rootjQuery\n // so migrate can support jQuery.sub (gh-2101)\n root = root || rootjQuery;\n\n // Handle HTML strings\n if (typeof selector === "string") {\n if (selector[0] === "<" && selector[selector.length - 1] === ">" && selector.length >= 3) {\n // Assume that strings that start and end with <> are HTML and skip the regex check\n match = [null, selector, null];\n } else {\n match = rquickExpr.exec(selector);\n }\n\n // Match html or make sure no context is specified for #id\n if (match && (match[1] || !context)) {\n // HANDLE: $(html) -> $(array)\n if (match[1]) {\n context = context instanceof jQuery ? context[0] : context;\n\n // Option to run scripts is true for back-compat\n // Intentionally let the error be thrown if parseHTML is not present\n jQuery.merge(this, jQuery.parseHTML(match[1], context && context.nodeType ? context.ownerDocument || context : document, true));\n\n // HANDLE: $(html, props)\n if (rsingleTag.test(match[1]) && jQuery.isPlainObject(context)) {\n for (match in context) {\n // Properties of context are called as methods if possible\n if (isFunction(this[match])) {\n this[match](context[match]);\n\n // ...and otherwise set as attributes\n } else {\n this.attr(match, context[match]);\n }\n }\n }\n return this;\n\n // HANDLE: $(#id)\n } else {\n elem = document.getElementById(match[2]);\n if (elem) {\n // Inject the element directly into the jQuery object\n this[0] = elem;\n this.length = 1;\n }\n return this;\n }\n\n // HANDLE: $(expr, $(...))\n } else if (!context || context.jquery) {\n return (context || root).find(selector);\n\n // HANDLE: $(expr, context)\n // (which is just equivalent to: $(context).find(expr)\n } else {\n return this.constructor(context).find(selector);\n }\n\n // HANDLE: $(DOMElement)\n } else if (selector.nodeType) {\n this[0] = selector;\n this.length = 1;\n return this;\n\n // HANDLE: $(function)\n // Shortcut for document ready\n } else if (isFunction(selector)) {\n return root.ready !== undefined ? root.ready(selector) :\n // Execute immediately if ready is not present\n selector(jQuery);\n }\n return jQuery.makeArray(selector, this);\n };\n\n // Give the init function the jQuery prototype for later instantiation\n init.prototype = jQuery.fn;\n\n // Initialize central reference\n rootjQuery = jQuery(document);\n var rparentsprev = /^(?:parents|prev(?:Until|All))/,\n // Methods guaranteed to produce a unique set when starting from a unique set\n guaranteedUnique = {\n children: true,\n contents: true,\n next: true,\n prev: true\n };\n jQuery.fn.extend({\n has: function has(target) {\n var targets = jQuery(target, this),\n l = targets.length;\n return this.filter(function () {\n var i = 0;\n for (; i < l; i++) {\n if (jQuery.contains(this, targets[i])) {\n return true;\n }\n }\n });\n },\n closest: function closest(selectors, context) {\n var cur,\n i = 0,\n l = this.length,\n matched = [],\n targets = typeof selectors !== "string" && jQuery(selectors);\n\n // Positional selectors never match, since there\'s no _selection_ context\n if (!rneedsContext.test(selectors)) {\n for (; i < l; i++) {\n for (cur = this[i]; cur && cur !== context; cur = cur.parentNode) {\n // Always skip document fragments\n if (cur.nodeType < 11 && (targets ? targets.index(cur) > -1 :\n // Don\'t pass non-elements to jQuery#find\n cur.nodeType === 1 && jQuery.find.matchesSelector(cur, selectors))) {\n matched.push(cur);\n break;\n }\n }\n }\n }\n return this.pushStack(matched.length > 1 ? jQuery.uniqueSort(matched) : matched);\n },\n // Determine the position of an element within the set\n index: function index(elem) {\n // No argument, return index in parent\n if (!elem) {\n return this[0] && this[0].parentNode ? this.first().prevAll().length : -1;\n }\n\n // Index in selector\n if (typeof elem === "string") {\n return indexOf.call(jQuery(elem), this[0]);\n }\n\n // Locate the position of the desired element\n return indexOf.call(this,\n // If it receives a jQuery object, the first element is used\n elem.jquery ? elem[0] : elem);\n },\n add: function add(selector, context) {\n return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(), jQuery(selector, context))));\n },\n addBack: function addBack(selector) {\n return this.add(selector == null ? this.prevObject : this.prevObject.filter(selector));\n }\n });\n function sibling(cur, dir) {\n while ((cur = cur[dir]) && cur.nodeType !== 1) {}\n return cur;\n }\n jQuery.each({\n parent: function parent(elem) {\n var parent = elem.parentNode;\n return parent && parent.nodeType !== 11 ? parent : null;\n },\n parents: function parents(elem) {\n return dir(elem, "parentNode");\n },\n parentsUntil: function parentsUntil(elem, _i, until) {\n return dir(elem, "parentNode", until);\n },\n next: function next(elem) {\n return sibling(elem, "nextSibling");\n },\n prev: function prev(elem) {\n return sibling(elem, "previousSibling");\n },\n nextAll: function nextAll(elem) {\n return dir(elem, "nextSibling");\n },\n prevAll: function prevAll(elem) {\n return dir(elem, "previousSibling");\n },\n nextUntil: function nextUntil(elem, _i, until) {\n return dir(elem, "nextSibling", until);\n },\n prevUntil: function prevUntil(elem, _i, until) {\n return dir(elem, "previousSibling", until);\n },\n siblings: function siblings(elem) {\n return _siblings((elem.parentNode || {}).firstChild, elem);\n },\n children: function children(elem) {\n return _siblings(elem.firstChild);\n },\n contents: function contents(elem) {\n if (elem.contentDocument != null &&\n // Support: IE 11+\n // elements with no `data` attribute has an object\n // `contentDocument` with a `null` prototype.\n getProto(elem.contentDocument)) {\n return elem.contentDocument;\n }\n\n // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n // Treat the template element as a regular one in browsers that\n // don\'t support it.\n if (nodeName(elem, "template")) {\n elem = elem.content || elem;\n }\n return jQuery.merge([], elem.childNodes);\n }\n }, function (name, fn) {\n jQuery.fn[name] = function (until, selector) {\n var matched = jQuery.map(this, fn, until);\n if (name.slice(-5) !== "Until") {\n selector = until;\n }\n if (selector && typeof selector === "string") {\n matched = jQuery.filter(selector, matched);\n }\n if (this.length > 1) {\n // Remove duplicates\n if (!guaranteedUnique[name]) {\n jQuery.uniqueSort(matched);\n }\n\n // Reverse order for parents* and prev-derivatives\n if (rparentsprev.test(name)) {\n matched.reverse();\n }\n }\n return this.pushStack(matched);\n };\n });\n var rnothtmlwhite = /[^\\x20\\t\\r\\n\\f]+/g;\n\n // Convert String-formatted options into Object-formatted ones\n function createOptions(options) {\n var object = {};\n jQuery.each(options.match(rnothtmlwhite) || [], function (_, flag) {\n object[flag] = true;\n });\n return object;\n }\n\n /*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * "fired" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest "memorized"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\n jQuery.Callbacks = function (options) {\n // Convert options from String-formatted to Object-formatted if needed\n // (we check in cache first)\n options = typeof options === "string" ? createOptions(options) : jQuery.extend({}, options);\n var\n // Flag to know if list is currently firing\n firing,\n // Last fire value for non-forgettable lists\n memory,\n // Flag to know if list was already fired\n _fired,\n // Flag to prevent firing\n _locked,\n // Actual callback list\n list = [],\n // Queue of execution data for repeatable lists\n queue = [],\n // Index of currently firing callback (modified by add/remove as needed)\n firingIndex = -1,\n // Fire callbacks\n fire = function fire() {\n // Enforce single-firing\n _locked = _locked || options.once;\n\n // Execute callbacks for all pending executions,\n // respecting firingIndex overrides and runtime changes\n _fired = firing = true;\n for (; queue.length; firingIndex = -1) {\n memory = queue.shift();\n while (++firingIndex < list.length) {\n // Run callback and check for early termination\n if (list[firingIndex].apply(memory[0], memory[1]) === false && options.stopOnFalse) {\n // Jump to end and forget the data so .add doesn\'t re-fire\n firingIndex = list.length;\n memory = false;\n }\n }\n }\n\n // Forget the data if we\'re done with it\n if (!options.memory) {\n memory = false;\n }\n firing = false;\n\n // Clean up if we\'re done firing for good\n if (_locked) {\n // Keep an empty list if we have data for future add calls\n if (memory) {\n list = [];\n\n // Otherwise, this object is spent\n } else {\n list = "";\n }\n }\n },\n // Actual Callbacks object\n self = {\n // Add a callback or a collection of callbacks to the list\n add: function add() {\n if (list) {\n // If we have memory from a past run, we should fire after adding\n if (memory && !firing) {\n firingIndex = list.length - 1;\n queue.push(memory);\n }\n (function add(args) {\n jQuery.each(args, function (_, arg) {\n if (isFunction(arg)) {\n if (!options.unique || !self.has(arg)) {\n list.push(arg);\n }\n } else if (arg && arg.length && toType(arg) !== "string") {\n // Inspect recursively\n add(arg);\n }\n });\n })(arguments);\n if (memory && !firing) {\n fire();\n }\n }\n return this;\n },\n // Remove a callback from the list\n remove: function remove() {\n jQuery.each(arguments, function (_, arg) {\n var index;\n while ((index = jQuery.inArray(arg, list, index)) > -1) {\n list.splice(index, 1);\n\n // Handle firing indexes\n if (index <= firingIndex) {\n firingIndex--;\n }\n }\n });\n return this;\n },\n // Check if a given callback is in the list.\n // If no argument is given, return whether or not list has callbacks attached.\n has: function has(fn) {\n return fn ? jQuery.inArray(fn, list) > -1 : list.length > 0;\n },\n // Remove all callbacks from the list\n empty: function empty() {\n if (list) {\n list = [];\n }\n return this;\n },\n // Disable .fire and .add\n // Abort any current/pending executions\n // Clear all callbacks and values\n disable: function disable() {\n _locked = queue = [];\n list = memory = "";\n return this;\n },\n disabled: function disabled() {\n return !list;\n },\n // Disable .fire\n // Also disable .add unless we have memory (since it would have no effect)\n // Abort any pending executions\n lock: function lock() {\n _locked = queue = [];\n if (!memory && !firing) {\n list = memory = "";\n }\n return this;\n },\n locked: function locked() {\n return !!_locked;\n },\n // Call all callbacks with the given context and arguments\n fireWith: function fireWith(context, args) {\n if (!_locked) {\n args = args || [];\n args = [context, args.slice ? args.slice() : args];\n queue.push(args);\n if (!firing) {\n fire();\n }\n }\n return this;\n },\n // Call all the callbacks with the given arguments\n fire: function fire() {\n self.fireWith(this, arguments);\n return this;\n },\n // To know if the callbacks have already been called at least once\n fired: function fired() {\n return !!_fired;\n }\n };\n return self;\n };\n function Identity(v) {\n return v;\n }\n function Thrower(ex) {\n throw ex;\n }\n function adoptValue(value, resolve, reject, noValue) {\n var method;\n try {\n // Check for promise aspect first to privilege synchronous behavior\n if (value && isFunction(method = value.promise)) {\n method.call(value).done(resolve).fail(reject);\n\n // Other thenables\n } else if (value && isFunction(method = value.then)) {\n method.call(value, resolve, reject);\n\n // Other non-thenables\n } else {\n // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n // * false: [ value ].slice( 0 ) => resolve( value )\n // * true: [ value ].slice( 1 ) => resolve()\n resolve.apply(undefined, [value].slice(noValue));\n }\n\n // For Promises/A+, convert exceptions into rejections\n // Since jQuery.when doesn\'t unwrap thenables, we can skip the extra checks appearing in\n // Deferred#then to conditionally suppress rejection.\n } catch (value) {\n // Support: Android 4.0 only\n // Strict mode functions invoked without .call/.apply get global-object context\n reject.apply(undefined, [value]);\n }\n }\n jQuery.extend({\n Deferred: function Deferred(func) {\n var tuples = [\n // action, add listener, callbacks,\n // ... .then handlers, argument index, [final state]\n ["notify", "progress", jQuery.Callbacks("memory"), jQuery.Callbacks("memory"), 2], ["resolve", "done", jQuery.Callbacks("once memory"), jQuery.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", jQuery.Callbacks("once memory"), jQuery.Callbacks("once memory"), 1, "rejected"]],\n _state = "pending",\n _promise = {\n state: function state() {\n return _state;\n },\n always: function always() {\n deferred.done(arguments).fail(arguments);\n return this;\n },\n "catch": function _catch(fn) {\n return _promise.then(null, fn);\n },\n // Keep pipe for back-compat\n pipe: function pipe( /* fnDone, fnFail, fnProgress */\n ) {\n var fns = arguments;\n return jQuery.Deferred(function (newDefer) {\n jQuery.each(tuples, function (_i, tuple) {\n // Map tuples (progress, done, fail) to arguments (done, fail, progress)\n var fn = isFunction(fns[tuple[4]]) && fns[tuple[4]];\n\n // deferred.progress(function() { bind to newDefer or newDefer.notify })\n // deferred.done(function() { bind to newDefer or newDefer.resolve })\n // deferred.fail(function() { bind to newDefer or newDefer.reject })\n deferred[tuple[1]](function () {\n var returned = fn && fn.apply(this, arguments);\n if (returned && isFunction(returned.promise)) {\n returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject);\n } else {\n newDefer[tuple[0] + "With"](this, fn ? [returned] : arguments);\n }\n });\n });\n fns = null;\n }).promise();\n },\n then: function then(onFulfilled, onRejected, onProgress) {\n var maxDepth = 0;\n function resolve(depth, deferred, handler, special) {\n return function () {\n var that = this,\n args = arguments,\n mightThrow = function mightThrow() {\n var returned, then;\n\n // Support: Promises/A+ section 2.3.3.3.3\n // https://promisesaplus.com/#point-59\n // Ignore double-resolution attempts\n if (depth < maxDepth) {\n return;\n }\n returned = handler.apply(that, args);\n\n // Support: Promises/A+ section 2.3.1\n // https://promisesaplus.com/#point-48\n if (returned === deferred.promise()) {\n throw new TypeError("Thenable self-resolution");\n }\n\n // Support: Promises/A+ sections 2.3.3.1, 3.5\n // https://promisesaplus.com/#point-54\n // https://promisesaplus.com/#point-75\n // Retrieve `then` only once\n then = returned && (\n // Support: Promises/A+ section 2.3.4\n // https://promisesaplus.com/#point-64\n // Only check objects and functions for thenability\n _typeof(returned) === "object" || typeof returned === "function") && returned.then;\n\n // Handle a returned thenable\n if (isFunction(then)) {\n // Special processors (notify) just wait for resolution\n if (special) {\n then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special));\n\n // Normal processors (resolve) also hook into progress\n } else {\n // ...and disregard older resolution values\n maxDepth++;\n then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special), resolve(maxDepth, deferred, Identity, deferred.notifyWith));\n }\n\n // Handle all other returned values\n } else {\n // Only substitute handlers pass on context\n // and multiple values (non-spec behavior)\n if (handler !== Identity) {\n that = undefined;\n args = [returned];\n }\n\n // Process the value(s)\n // Default process is resolve\n (special || deferred.resolveWith)(that, args);\n }\n },\n // Only normal processors (resolve) catch and reject exceptions\n process = special ? mightThrow : function () {\n try {\n mightThrow();\n } catch (e) {\n if (jQuery.Deferred.exceptionHook) {\n jQuery.Deferred.exceptionHook(e, process.error);\n }\n\n // Support: Promises/A+ section 2.3.3.3.4.1\n // https://promisesaplus.com/#point-61\n // Ignore post-resolution exceptions\n if (depth + 1 >= maxDepth) {\n // Only substitute handlers pass on context\n // and multiple values (non-spec behavior)\n if (handler !== Thrower) {\n that = undefined;\n args = [e];\n }\n deferred.rejectWith(that, args);\n }\n }\n };\n\n // Support: Promises/A+ section 2.3.3.3.1\n // https://promisesaplus.com/#point-57\n // Re-resolve promises immediately to dodge false rejection from\n // subsequent errors\n if (depth) {\n process();\n } else {\n // Call an optional hook to record the error, in case of exception\n // since it\'s otherwise lost when execution goes async\n if (jQuery.Deferred.getErrorHook) {\n process.error = jQuery.Deferred.getErrorHook();\n\n // The deprecated alias of the above. While the name suggests\n // returning the stack, not an error instance, jQuery just passes\n // it directly to `console.warn` so both will work; an instance\n // just better cooperates with source maps.\n } else if (jQuery.Deferred.getStackHook) {\n process.error = jQuery.Deferred.getStackHook();\n }\n window.setTimeout(process);\n }\n };\n }\n return jQuery.Deferred(function (newDefer) {\n // progress_handlers.add( ... )\n tuples[0][3].add(resolve(0, newDefer, isFunction(onProgress) ? onProgress : Identity, newDefer.notifyWith));\n\n // fulfilled_handlers.add( ... )\n tuples[1][3].add(resolve(0, newDefer, isFunction(onFulfilled) ? onFulfilled : Identity));\n\n // rejected_handlers.add( ... )\n tuples[2][3].add(resolve(0, newDefer, isFunction(onRejected) ? onRejected : Thrower));\n }).promise();\n },\n // Get a promise for this deferred\n // If obj is provided, the promise aspect is added to the object\n promise: function promise(obj) {\n return obj != null ? jQuery.extend(obj, _promise) : _promise;\n }\n },\n deferred = {};\n\n // Add list-specific methods\n jQuery.each(tuples, function (i, tuple) {\n var list = tuple[2],\n stateString = tuple[5];\n\n // promise.progress = list.add\n // promise.done = list.add\n // promise.fail = list.add\n _promise[tuple[1]] = list.add;\n\n // Handle state\n if (stateString) {\n list.add(function () {\n // state = "resolved" (i.e., fulfilled)\n // state = "rejected"\n _state = stateString;\n },\n // rejected_callbacks.disable\n // fulfilled_callbacks.disable\n tuples[3 - i][2].disable,\n // rejected_handlers.disable\n // fulfilled_handlers.disable\n tuples[3 - i][3].disable,\n // progress_callbacks.lock\n tuples[0][2].lock,\n // progress_handlers.lock\n tuples[0][3].lock);\n }\n\n // progress_handlers.fire\n // fulfilled_handlers.fire\n // rejected_handlers.fire\n list.add(tuple[3].fire);\n\n // deferred.notify = function() { deferred.notifyWith(...) }\n // deferred.resolve = function() { deferred.resolveWith(...) }\n // deferred.reject = function() { deferred.rejectWith(...) }\n deferred[tuple[0]] = function () {\n deferred[tuple[0] + "With"](this === deferred ? undefined : this, arguments);\n return this;\n };\n\n // deferred.notifyWith = list.fireWith\n // deferred.resolveWith = list.fireWith\n // deferred.rejectWith = list.fireWith\n deferred[tuple[0] + "With"] = list.fireWith;\n });\n\n // Make the deferred a promise\n _promise.promise(deferred);\n\n // Call given func if any\n if (func) {\n func.call(deferred, deferred);\n }\n\n // All done!\n return deferred;\n },\n // Deferred helper\n when: function when(singleValue) {\n var\n // count of uncompleted subordinates\n remaining = arguments.length,\n // count of unprocessed arguments\n i = remaining,\n // subordinate fulfillment data\n resolveContexts = Array(i),\n resolveValues = _slice.call(arguments),\n // the primary Deferred\n primary = jQuery.Deferred(),\n // subordinate callback factory\n updateFunc = function updateFunc(i) {\n return function (value) {\n resolveContexts[i] = this;\n resolveValues[i] = arguments.length > 1 ? _slice.call(arguments) : value;\n if (! --remaining) {\n primary.resolveWith(resolveContexts, resolveValues);\n }\n };\n };\n\n // Single- and empty arguments are adopted like Promise.resolve\n if (remaining <= 1) {\n adoptValue(singleValue, primary.done(updateFunc(i)).resolve, primary.reject, !remaining);\n\n // Use .then() to unwrap secondary thenables (cf. gh-3000)\n if (primary.state() === "pending" || isFunction(resolveValues[i] && resolveValues[i].then)) {\n return primary.then();\n }\n }\n\n // Multiple arguments are aggregated like Promise.all array elements\n while (i--) {\n adoptValue(resolveValues[i], updateFunc(i), primary.reject);\n }\n return primary.promise();\n }\n });\n\n // These usually indicate a programmer mistake during development,\n // warn about them ASAP rather than swallowing them by default.\n var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\n // If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error\n // captured before the async barrier to get the original error cause\n // which may otherwise be hidden.\n jQuery.Deferred.exceptionHook = function (error, asyncError) {\n // Support: IE 8 - 9 only\n // Console exists when dev tools are open, which can happen at any time\n if (window.console && window.console.warn && error && rerrorNames.test(error.name)) {\n window.console.warn("jQuery.Deferred exception: " + error.message, error.stack, asyncError);\n }\n };\n jQuery.readyException = function (error) {\n window.setTimeout(function () {\n throw error;\n });\n };\n\n // The deferred used on DOM ready\n var readyList = jQuery.Deferred();\n jQuery.fn.ready = function (fn) {\n readyList.then(fn)\n\n // Wrap jQuery.readyException in a function so that the lookup\n // happens at the time of error handling instead of callback\n // registration.\n ["catch"](function (error) {\n jQuery.readyException(error);\n });\n return this;\n };\n jQuery.extend({\n // Is the DOM ready to be used? Set to true once it occurs.\n isReady: false,\n // A counter to track how many items to wait for before\n // the ready event fires. See trac-6781\n readyWait: 1,\n // Handle when the DOM is ready\n ready: function ready(wait) {\n // Abort if there are pending holds or we\'re already ready\n if (wait === true ? --jQuery.readyWait : jQuery.isReady) {\n return;\n }\n\n // Remember that the DOM is ready\n jQuery.isReady = true;\n\n // If a normal DOM Ready event fired, decrement, and wait if need be\n if (wait !== true && --jQuery.readyWait > 0) {\n return;\n }\n\n // If there are functions bound, to execute\n readyList.resolveWith(document, [jQuery]);\n }\n });\n jQuery.ready.then = readyList.then;\n\n // The ready event handler and self cleanup method\n function completed() {\n document.removeEventListener("DOMContentLoaded", completed);\n window.removeEventListener("load", completed);\n jQuery.ready();\n }\n\n // Catch cases where $(document).ready() is called\n // after the browser event has already occurred.\n // Support: IE <=9 - 10 only\n // Older IE sometimes signals "interactive" too soon\n if (document.readyState === "complete" || document.readyState !== "loading" && !document.documentElement.doScroll) {\n // Handle it asynchronously to allow scripts the opportunity to delay ready\n window.setTimeout(jQuery.ready);\n } else {\n // Use the handy event callback\n document.addEventListener("DOMContentLoaded", completed);\n\n // A fallback to window.onload, that will always work\n window.addEventListener("load", completed);\n }\n\n // Multifunctional method to get and set values of a collection\n // The value/s can optionally be executed if it\'s a function\n var access = function access(elems, fn, key, value, chainable, emptyGet, raw) {\n var i = 0,\n len = elems.length,\n bulk = key == null;\n\n // Sets many values\n if (toType(key) === "object") {\n chainable = true;\n for (i in key) {\n access(elems, fn, i, key[i], true, emptyGet, raw);\n }\n\n // Sets one value\n } else if (value !== undefined) {\n chainable = true;\n if (!isFunction(value)) {\n raw = true;\n }\n if (bulk) {\n // Bulk operations run against the entire set\n if (raw) {\n fn.call(elems, value);\n fn = null;\n\n // ...except when executing function values\n } else {\n bulk = fn;\n fn = function fn(elem, _key, value) {\n return bulk.call(jQuery(elem), value);\n };\n }\n }\n if (fn) {\n for (; i < len; i++) {\n fn(elems[i], key, raw ? value : value.call(elems[i], i, fn(elems[i], key)));\n }\n }\n }\n if (chainable) {\n return elems;\n }\n\n // Gets\n if (bulk) {\n return fn.call(elems);\n }\n return len ? fn(elems[0], key) : emptyGet;\n };\n\n // Matches dashed string for camelizing\n var rmsPrefix = /^-ms-/,\n rdashAlpha = /-([a-z])/g;\n\n // Used by camelCase as callback to replace()\n function fcamelCase(_all, letter) {\n return letter.toUpperCase();\n }\n\n // Convert dashed to camelCase; used by the css and data modules\n // Support: IE <=9 - 11, Edge 12 - 15\n // Microsoft forgot to hump their vendor prefix (trac-9572)\n function camelCase(string) {\n return string.replace(rmsPrefix, "ms-").replace(rdashAlpha, fcamelCase);\n }\n var acceptData = function acceptData(owner) {\n // Accepts only:\n // - Node\n // - Node.ELEMENT_NODE\n // - Node.DOCUMENT_NODE\n // - Object\n // - Any\n return owner.nodeType === 1 || owner.nodeType === 9 || !+owner.nodeType;\n };\n function Data() {\n this.expando = jQuery.expando + Data.uid++;\n }\n Data.uid = 1;\n Data.prototype = {\n cache: function cache(owner) {\n // Check if the owner object already has a cache\n var value = owner[this.expando];\n\n // If not, create one\n if (!value) {\n value = {};\n\n // We can accept data for non-element nodes in modern browsers,\n // but we should not, see trac-8335.\n // Always return an empty object.\n if (acceptData(owner)) {\n // If it is a node unlikely to be stringify-ed or looped over\n // use plain assignment\n if (owner.nodeType) {\n owner[this.expando] = value;\n\n // Otherwise secure it in a non-enumerable property\n // configurable must be true to allow the property to be\n // deleted when data is removed\n } else {\n Object.defineProperty(owner, this.expando, {\n value: value,\n configurable: true\n });\n }\n }\n }\n return value;\n },\n set: function set(owner, data, value) {\n var prop,\n cache = this.cache(owner);\n\n // Handle: [ owner, key, value ] args\n // Always use camelCase key (gh-2257)\n if (typeof data === "string") {\n cache[camelCase(data)] = value;\n\n // Handle: [ owner, { properties } ] args\n } else {\n // Copy the properties one-by-one to the cache object\n for (prop in data) {\n cache[camelCase(prop)] = data[prop];\n }\n }\n return cache;\n },\n get: function get(owner, key) {\n return key === undefined ? this.cache(owner) :\n // Always use camelCase key (gh-2257)\n owner[this.expando] && owner[this.expando][camelCase(key)];\n },\n access: function access(owner, key, value) {\n // In cases where either:\n //\n // 1. No key was specified\n // 2. A string key was specified, but no value provided\n //\n // Take the "read" path and allow the get method to determine\n // which value to return, respectively either:\n //\n // 1. The entire cache object\n // 2. The data stored at the key\n //\n if (key === undefined || key && typeof key === "string" && value === undefined) {\n return this.get(owner, key);\n }\n\n // When the key is not a string, or both a key and value\n // are specified, set or extend (existing objects) with either:\n //\n // 1. An object of properties\n // 2. A key and value\n //\n this.set(owner, key, value);\n\n // Since the "set" path can have two possible entry points\n // return the expected data based on which path was taken[*]\n return value !== undefined ? value : key;\n },\n remove: function remove(owner, key) {\n var i,\n cache = owner[this.expando];\n if (cache === undefined) {\n return;\n }\n if (key !== undefined) {\n // Support array or space separated string of keys\n if (Array.isArray(key)) {\n // If key is an array of keys...\n // We always set camelCase keys, so remove that.\n key = key.map(camelCase);\n } else {\n key = camelCase(key);\n\n // If a key with the spaces exists, use it.\n // Otherwise, create an array by matching non-whitespace\n key = key in cache ? [key] : key.match(rnothtmlwhite) || [];\n }\n i = key.length;\n while (i--) {\n delete cache[key[i]];\n }\n }\n\n // Remove the expando if there\'s no more data\n if (key === undefined || jQuery.isEmptyObject(cache)) {\n // Support: Chrome <=35 - 45\n // Webkit & Blink performance suffers when deleting properties\n // from DOM nodes, so set to undefined instead\n // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n if (owner.nodeType) {\n owner[this.expando] = undefined;\n } else {\n delete owner[this.expando];\n }\n }\n },\n hasData: function hasData(owner) {\n var cache = owner[this.expando];\n return cache !== undefined && !jQuery.isEmptyObject(cache);\n }\n };\n var dataPriv = new Data();\n var dataUser = new Data();\n\n //\tImplementation Summary\n //\n //\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n //\t2. Improve the module\'s maintainability by reducing the storage\n //\t\tpaths to a single mechanism.\n //\t3. Use the same single mechanism to support "private" and "user" data.\n //\t4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)\n //\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n //\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\n var rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n rmultiDash = /[A-Z]/g;\n function getData(data) {\n if (data === "true") {\n return true;\n }\n if (data === "false") {\n return false;\n }\n if (data === "null") {\n return null;\n }\n\n // Only convert to a number if it doesn\'t change the string\n if (data === +data + "") {\n return +data;\n }\n if (rbrace.test(data)) {\n return JSON.parse(data);\n }\n return data;\n }\n function dataAttr(elem, key, data) {\n var name;\n\n // If nothing was found internally, try to fetch any\n // data from the HTML5 data-* attribute\n if (data === undefined && elem.nodeType === 1) {\n name = "data-" + key.replace(rmultiDash, "-$&").toLowerCase();\n data = elem.getAttribute(name);\n if (typeof data === "string") {\n try {\n data = getData(data);\n } catch (e) {}\n\n // Make sure we set the data so it isn\'t changed later\n dataUser.set(elem, key, data);\n } else {\n data = undefined;\n }\n }\n return data;\n }\n jQuery.extend({\n hasData: function hasData(elem) {\n return dataUser.hasData(elem) || dataPriv.hasData(elem);\n },\n data: function data(elem, name, _data) {\n return dataUser.access(elem, name, _data);\n },\n removeData: function removeData(elem, name) {\n dataUser.remove(elem, name);\n },\n // TODO: Now that all calls to _data and _removeData have been replaced\n // with direct calls to dataPriv methods, these can be deprecated.\n _data: function _data(elem, name, data) {\n return dataPriv.access(elem, name, data);\n },\n _removeData: function _removeData(elem, name) {\n dataPriv.remove(elem, name);\n }\n });\n jQuery.fn.extend({\n data: function data(key, value) {\n var i,\n name,\n data,\n elem = this[0],\n attrs = elem && elem.attributes;\n\n // Gets all values\n if (key === undefined) {\n if (this.length) {\n data = dataUser.get(elem);\n if (elem.nodeType === 1 && !dataPriv.get(elem, "hasDataAttrs")) {\n i = attrs.length;\n while (i--) {\n // Support: IE 11 only\n // The attrs elements can be null (trac-14894)\n if (attrs[i]) {\n name = attrs[i].name;\n if (name.indexOf("data-") === 0) {\n name = camelCase(name.slice(5));\n dataAttr(elem, name, data[name]);\n }\n }\n }\n dataPriv.set(elem, "hasDataAttrs", true);\n }\n }\n return data;\n }\n\n // Sets multiple values\n if (_typeof(key) === "object") {\n return this.each(function () {\n dataUser.set(this, key);\n });\n }\n return access(this, function (value) {\n var data;\n\n // The calling jQuery object (element matches) is not empty\n // (and therefore has an element appears at this[ 0 ]) and the\n // `value` parameter was not undefined. An empty jQuery object\n // will result in `undefined` for elem = this[ 0 ] which will\n // throw an exception if an attempt to read a data cache is made.\n if (elem && value === undefined) {\n // Attempt to get data from the cache\n // The key will always be camelCased in Data\n data = dataUser.get(elem, key);\n if (data !== undefined) {\n return data;\n }\n\n // Attempt to "discover" the data in\n // HTML5 custom data-* attrs\n data = dataAttr(elem, key);\n if (data !== undefined) {\n return data;\n }\n\n // We tried really hard, but the data doesn\'t exist.\n return;\n }\n\n // Set the data...\n this.each(function () {\n // We always store the camelCased key\n dataUser.set(this, key, value);\n });\n }, null, value, arguments.length > 1, null, true);\n },\n removeData: function removeData(key) {\n return this.each(function () {\n dataUser.remove(this, key);\n });\n }\n });\n jQuery.extend({\n queue: function queue(elem, type, data) {\n var queue;\n if (elem) {\n type = (type || "fx") + "queue";\n queue = dataPriv.get(elem, type);\n\n // Speed up dequeue by getting out quickly if this is just a lookup\n if (data) {\n if (!queue || Array.isArray(data)) {\n queue = dataPriv.access(elem, type, jQuery.makeArray(data));\n } else {\n queue.push(data);\n }\n }\n return queue || [];\n }\n },\n dequeue: function dequeue(elem, type) {\n type = type || "fx";\n var queue = jQuery.queue(elem, type),\n startLength = queue.length,\n fn = queue.shift(),\n hooks = jQuery._queueHooks(elem, type),\n next = function next() {\n jQuery.dequeue(elem, type);\n };\n\n // If the fx queue is dequeued, always remove the progress sentinel\n if (fn === "inprogress") {\n fn = queue.shift();\n startLength--;\n }\n if (fn) {\n // Add a progress sentinel to prevent the fx queue from being\n // automatically dequeued\n if (type === "fx") {\n queue.unshift("inprogress");\n }\n\n // Clear up the last queue stop function\n delete hooks.stop;\n fn.call(elem, next, hooks);\n }\n if (!startLength && hooks) {\n hooks.empty.fire();\n }\n },\n // Not public - generate a queueHooks object, or return the current one\n _queueHooks: function _queueHooks(elem, type) {\n var key = type + "queueHooks";\n return dataPriv.get(elem, key) || dataPriv.access(elem, key, {\n empty: jQuery.Callbacks("once memory").add(function () {\n dataPriv.remove(elem, [type + "queue", key]);\n })\n });\n }\n });\n jQuery.fn.extend({\n queue: function queue(type, data) {\n var setter = 2;\n if (typeof type !== "string") {\n data = type;\n type = "fx";\n setter--;\n }\n if (arguments.length < setter) {\n return jQuery.queue(this[0], type);\n }\n return data === undefined ? this : this.each(function () {\n var queue = jQuery.queue(this, type, data);\n\n // Ensure a hooks for this queue\n jQuery._queueHooks(this, type);\n if (type === "fx" && queue[0] !== "inprogress") {\n jQuery.dequeue(this, type);\n }\n });\n },\n dequeue: function dequeue(type) {\n return this.each(function () {\n jQuery.dequeue(this, type);\n });\n },\n clearQueue: function clearQueue(type) {\n return this.queue(type || "fx", []);\n },\n // Get a promise resolved when queues of a certain type\n // are emptied (fx is the type by default)\n promise: function promise(type, obj) {\n var tmp,\n count = 1,\n defer = jQuery.Deferred(),\n elements = this,\n i = this.length,\n resolve = function resolve() {\n if (! --count) {\n defer.resolveWith(elements, [elements]);\n }\n };\n if (typeof type !== "string") {\n obj = type;\n type = undefined;\n }\n type = type || "fx";\n while (i--) {\n tmp = dataPriv.get(elements[i], type + "queueHooks");\n if (tmp && tmp.empty) {\n count++;\n tmp.empty.add(resolve);\n }\n }\n resolve();\n return defer.promise(obj);\n }\n });\n var pnum = /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source;\n var rcssNum = new RegExp("^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i");\n var cssExpand = ["Top", "Right", "Bottom", "Left"];\n var documentElement = document.documentElement;\n var isAttached = function isAttached(elem) {\n return jQuery.contains(elem.ownerDocument, elem);\n },\n composed = {\n composed: true\n };\n\n // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n // Check attachment across shadow DOM boundaries when possible (gh-3504)\n // Support: iOS 10.0-10.2 only\n // Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n // leading to errors. We need to check for `getRootNode`.\n if (documentElement.getRootNode) {\n isAttached = function isAttached(elem) {\n return jQuery.contains(elem.ownerDocument, elem) || elem.getRootNode(composed) === elem.ownerDocument;\n };\n }\n var isHiddenWithinTree = function isHiddenWithinTree(elem, el) {\n // isHiddenWithinTree might be called from jQuery#filter function;\n // in that case, element will be second argument\n elem = el || elem;\n\n // Inline style trumps all\n return elem.style.display === "none" || elem.style.display === "" &&\n // Otherwise, check computed style\n // Support: Firefox <=43 - 45\n // Disconnected elements can have computed display: none, so first confirm that elem is\n // in the document.\n isAttached(elem) && jQuery.css(elem, "display") === "none";\n };\n function adjustCSS(elem, prop, valueParts, tween) {\n var adjusted,\n scale,\n maxIterations = 20,\n currentValue = tween ? function () {\n return tween.cur();\n } : function () {\n return jQuery.css(elem, prop, "");\n },\n initial = currentValue(),\n unit = valueParts && valueParts[3] || (jQuery.cssNumber[prop] ? "" : "px"),\n // Starting value computation is required for potential unit mismatches\n initialInUnit = elem.nodeType && (jQuery.cssNumber[prop] || unit !== "px" && +initial) && rcssNum.exec(jQuery.css(elem, prop));\n if (initialInUnit && initialInUnit[3] !== unit) {\n // Support: Firefox <=54\n // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n initial = initial / 2;\n\n // Trust units reported by jQuery.css\n unit = unit || initialInUnit[3];\n\n // Iteratively approximate from a nonzero starting point\n initialInUnit = +initial || 1;\n while (maxIterations--) {\n // Evaluate and update our best guess (doubling guesses that zero out).\n // Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n jQuery.style(elem, prop, initialInUnit + unit);\n if ((1 - scale) * (1 - (scale = currentValue() / initial || 0.5)) <= 0) {\n maxIterations = 0;\n }\n initialInUnit = initialInUnit / scale;\n }\n initialInUnit = initialInUnit * 2;\n jQuery.style(elem, prop, initialInUnit + unit);\n\n // Make sure we update the tween properties later on\n valueParts = valueParts || [];\n }\n if (valueParts) {\n initialInUnit = +initialInUnit || +initial || 0;\n\n // Apply relative offset (+=/-=) if specified\n adjusted = valueParts[1] ? initialInUnit + (valueParts[1] + 1) * valueParts[2] : +valueParts[2];\n if (tween) {\n tween.unit = unit;\n tween.start = initialInUnit;\n tween.end = adjusted;\n }\n }\n return adjusted;\n }\n var defaultDisplayMap = {};\n function getDefaultDisplay(elem) {\n var temp,\n doc = elem.ownerDocument,\n nodeName = elem.nodeName,\n display = defaultDisplayMap[nodeName];\n if (display) {\n return display;\n }\n temp = doc.body.appendChild(doc.createElement(nodeName));\n display = jQuery.css(temp, "display");\n temp.parentNode.removeChild(temp);\n if (display === "none") {\n display = "block";\n }\n defaultDisplayMap[nodeName] = display;\n return display;\n }\n function showHide(elements, show) {\n var display,\n elem,\n values = [],\n index = 0,\n length = elements.length;\n\n // Determine new display value for elements that need to change\n for (; index < length; index++) {\n elem = elements[index];\n if (!elem.style) {\n continue;\n }\n display = elem.style.display;\n if (show) {\n // Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n // check is required in this first loop unless we have a nonempty display value (either\n // inline or about-to-be-restored)\n if (display === "none") {\n values[index] = dataPriv.get(elem, "display") || null;\n if (!values[index]) {\n elem.style.display = "";\n }\n }\n if (elem.style.display === "" && isHiddenWithinTree(elem)) {\n values[index] = getDefaultDisplay(elem);\n }\n } else {\n if (display !== "none") {\n values[index] = "none";\n\n // Remember what we\'re overwriting\n dataPriv.set(elem, "display", display);\n }\n }\n }\n\n // Set the display of the elements in a second loop to avoid constant reflow\n for (index = 0; index < length; index++) {\n if (values[index] != null) {\n elements[index].style.display = values[index];\n }\n }\n return elements;\n }\n jQuery.fn.extend({\n show: function show() {\n return showHide(this, true);\n },\n hide: function hide() {\n return showHide(this);\n },\n toggle: function toggle(state) {\n if (typeof state === "boolean") {\n return state ? this.show() : this.hide();\n }\n return this.each(function () {\n if (isHiddenWithinTree(this)) {\n jQuery(this).show();\n } else {\n jQuery(this).hide();\n }\n });\n }\n });\n var rcheckableType = /^(?:checkbox|radio)$/i;\n var rtagName = /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i;\n var rscriptType = /^$|^module$|\\/(?:java|ecma)script/i;\n (function () {\n var fragment = document.createDocumentFragment(),\n div = fragment.appendChild(document.createElement("div")),\n input = document.createElement("input");\n\n // Support: Android 4.0 - 4.3 only\n // Check state lost if the name is set (trac-11217)\n // Support: Windows Web Apps (WWA)\n // `name` and `type` must use .setAttribute for WWA (trac-14901)\n input.setAttribute("type", "radio");\n input.setAttribute("checked", "checked");\n input.setAttribute("name", "t");\n div.appendChild(input);\n\n // Support: Android <=4.1 only\n // Older WebKit doesn\'t clone checked state correctly in fragments\n support.checkClone = div.cloneNode(true).cloneNode(true).lastChild.checked;\n\n // Support: IE <=11 only\n // Make sure textarea (and checkbox) defaultValue is properly cloned\n div.innerHTML = "";\n support.noCloneChecked = !!div.cloneNode(true).lastChild.defaultValue;\n\n // Support: IE <=9 only\n // IE <=9 replaces ";\n support.option = !!div.lastChild;\n })();\n\n // We have to close these tags to support XHTML (trac-13200)\n var wrapMap = {\n // XHTML parsers do not magically insert elements in the\n // same way that tag soup parsers do. So we cannot shorten\n // this by omitting or other required elements.\n thead: [1, "", "
              "],\n col: [2, "", "
              "],\n tr: [2, "", "
              "],\n td: [3, "", "
              "],\n _default: [0, "", ""]\n };\n wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\n wrapMap.th = wrapMap.td;\n\n // Support: IE <=9 only\n if (!support.option) {\n wrapMap.optgroup = wrapMap.option = [1, ""];\n }\n function getAll(context, tag) {\n // Support: IE <=9 - 11 only\n // Use typeof to avoid zero-argument method invocation on host objects (trac-15151)\n var ret;\n if (typeof context.getElementsByTagName !== "undefined") {\n ret = context.getElementsByTagName(tag || "*");\n } else if (typeof context.querySelectorAll !== "undefined") {\n ret = context.querySelectorAll(tag || "*");\n } else {\n ret = [];\n }\n if (tag === undefined || tag && nodeName(context, tag)) {\n return jQuery.merge([context], ret);\n }\n return ret;\n }\n\n // Mark scripts as having already been evaluated\n function setGlobalEval(elems, refElements) {\n var i = 0,\n l = elems.length;\n for (; i < l; i++) {\n dataPriv.set(elems[i], "globalEval", !refElements || dataPriv.get(refElements[i], "globalEval"));\n }\n }\n var rhtml = /<|&#?\\w+;/;\n function buildFragment(elems, context, scripts, selection, ignored) {\n var elem,\n tmp,\n tag,\n wrap,\n attached,\n j,\n fragment = context.createDocumentFragment(),\n nodes = [],\n i = 0,\n l = elems.length;\n for (; i < l; i++) {\n elem = elems[i];\n if (elem || elem === 0) {\n // Add nodes directly\n if (toType(elem) === "object") {\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n jQuery.merge(nodes, elem.nodeType ? [elem] : elem);\n\n // Convert non-html into a text node\n } else if (!rhtml.test(elem)) {\n nodes.push(context.createTextNode(elem));\n\n // Convert html into DOM nodes\n } else {\n tmp = tmp || fragment.appendChild(context.createElement("div"));\n\n // Deserialize a standard representation\n tag = (rtagName.exec(elem) || ["", ""])[1].toLowerCase();\n wrap = wrapMap[tag] || wrapMap._default;\n tmp.innerHTML = wrap[1] + jQuery.htmlPrefilter(elem) + wrap[2];\n\n // Descend through wrappers to the right content\n j = wrap[0];\n while (j--) {\n tmp = tmp.lastChild;\n }\n\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n jQuery.merge(nodes, tmp.childNodes);\n\n // Remember the top-level container\n tmp = fragment.firstChild;\n\n // Ensure the created nodes are orphaned (trac-12392)\n tmp.textContent = "";\n }\n }\n }\n\n // Remove wrapper from fragment\n fragment.textContent = "";\n i = 0;\n while (elem = nodes[i++]) {\n // Skip elements already in the context collection (trac-4087)\n if (selection && jQuery.inArray(elem, selection) > -1) {\n if (ignored) {\n ignored.push(elem);\n }\n continue;\n }\n attached = isAttached(elem);\n\n // Append to fragment\n tmp = getAll(fragment.appendChild(elem), "script");\n\n // Preserve script evaluation history\n if (attached) {\n setGlobalEval(tmp);\n }\n\n // Capture executables\n if (scripts) {\n j = 0;\n while (elem = tmp[j++]) {\n if (rscriptType.test(elem.type || "")) {\n scripts.push(elem);\n }\n }\n }\n }\n return fragment;\n }\n var rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n function returnTrue() {\n return true;\n }\n function returnFalse() {\n return false;\n }\n function _on(elem, types, selector, data, fn, one) {\n var origFn, type;\n\n // Types can be a map of types/handlers\n if (_typeof(types) === "object") {\n // ( types-Object, selector, data )\n if (typeof selector !== "string") {\n // ( types-Object, data )\n data = data || selector;\n selector = undefined;\n }\n for (type in types) {\n _on(elem, type, selector, data, types[type], one);\n }\n return elem;\n }\n if (data == null && fn == null) {\n // ( types, fn )\n fn = selector;\n data = selector = undefined;\n } else if (fn == null) {\n if (typeof selector === "string") {\n // ( types, selector, fn )\n fn = data;\n data = undefined;\n } else {\n // ( types, data, fn )\n fn = data;\n data = selector;\n selector = undefined;\n }\n }\n if (fn === false) {\n fn = returnFalse;\n } else if (!fn) {\n return elem;\n }\n if (one === 1) {\n origFn = fn;\n fn = function fn(event) {\n // Can use an empty set, since event contains the info\n jQuery().off(event);\n return origFn.apply(this, arguments);\n };\n\n // Use same guid so caller can remove using origFn\n fn.guid = origFn.guid || (origFn.guid = jQuery.guid++);\n }\n return elem.each(function () {\n jQuery.event.add(this, types, fn, data, selector);\n });\n }\n\n /*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards\' addEvent library for many of the ideas.\n */\n jQuery.event = {\n global: {},\n add: function add(elem, types, handler, data, selector) {\n var handleObjIn,\n eventHandle,\n tmp,\n events,\n t,\n handleObj,\n special,\n handlers,\n type,\n namespaces,\n origType,\n elemData = dataPriv.get(elem);\n\n // Only attach events to objects that accept data\n if (!acceptData(elem)) {\n return;\n }\n\n // Caller can pass in an object of custom data in lieu of the handler\n if (handler.handler) {\n handleObjIn = handler;\n handler = handleObjIn.handler;\n selector = handleObjIn.selector;\n }\n\n // Ensure that invalid selectors throw exceptions at attach time\n // Evaluate against documentElement in case elem is a non-element node (e.g., document)\n if (selector) {\n jQuery.find.matchesSelector(documentElement, selector);\n }\n\n // Make sure that the handler has a unique ID, used to find/remove it later\n if (!handler.guid) {\n handler.guid = jQuery.guid++;\n }\n\n // Init the element\'s event structure and main handler, if this is the first\n if (!(events = elemData.events)) {\n events = elemData.events = Object.create(null);\n }\n if (!(eventHandle = elemData.handle)) {\n eventHandle = elemData.handle = function (e) {\n // Discard the second event of a jQuery.event.trigger() and\n // when an event is called after a page has unloaded\n return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? jQuery.event.dispatch.apply(elem, arguments) : undefined;\n };\n }\n\n // Handle multiple events separated by a space\n types = (types || "").match(rnothtmlwhite) || [""];\n t = types.length;\n while (t--) {\n tmp = rtypenamespace.exec(types[t]) || [];\n type = origType = tmp[1];\n namespaces = (tmp[2] || "").split(".").sort();\n\n // There *must* be a type, no attaching namespace-only handlers\n if (!type) {\n continue;\n }\n\n // If event changes its type, use the special event handlers for the changed type\n special = jQuery.event.special[type] || {};\n\n // If selector defined, determine special event api type, otherwise given type\n type = (selector ? special.delegateType : special.bindType) || type;\n\n // Update special based on newly reset type\n special = jQuery.event.special[type] || {};\n\n // handleObj is passed to all event handlers\n handleObj = jQuery.extend({\n type: type,\n origType: origType,\n data: data,\n handler: handler,\n guid: handler.guid,\n selector: selector,\n needsContext: selector && jQuery.expr.match.needsContext.test(selector),\n namespace: namespaces.join(".")\n }, handleObjIn);\n\n // Init the event handler queue if we\'re the first\n if (!(handlers = events[type])) {\n handlers = events[type] = [];\n handlers.delegateCount = 0;\n\n // Only use addEventListener if the special events handler returns false\n if (!special.setup || special.setup.call(elem, data, namespaces, eventHandle) === false) {\n if (elem.addEventListener) {\n elem.addEventListener(type, eventHandle);\n }\n }\n }\n if (special.add) {\n special.add.call(elem, handleObj);\n if (!handleObj.handler.guid) {\n handleObj.handler.guid = handler.guid;\n }\n }\n\n // Add to the element\'s handler list, delegates in front\n if (selector) {\n handlers.splice(handlers.delegateCount++, 0, handleObj);\n } else {\n handlers.push(handleObj);\n }\n\n // Keep track of which events have ever been used, for event optimization\n jQuery.event.global[type] = true;\n }\n },\n // Detach an event or set of events from an element\n remove: function remove(elem, types, handler, selector, mappedTypes) {\n var j,\n origCount,\n tmp,\n events,\n t,\n handleObj,\n special,\n handlers,\n type,\n namespaces,\n origType,\n elemData = dataPriv.hasData(elem) && dataPriv.get(elem);\n if (!elemData || !(events = elemData.events)) {\n return;\n }\n\n // Once for each type.namespace in types; type may be omitted\n types = (types || "").match(rnothtmlwhite) || [""];\n t = types.length;\n while (t--) {\n tmp = rtypenamespace.exec(types[t]) || [];\n type = origType = tmp[1];\n namespaces = (tmp[2] || "").split(".").sort();\n\n // Unbind all events (on this namespace, if provided) for the element\n if (!type) {\n for (type in events) {\n jQuery.event.remove(elem, type + types[t], handler, selector, true);\n }\n continue;\n }\n special = jQuery.event.special[type] || {};\n type = (selector ? special.delegateType : special.bindType) || type;\n handlers = events[type] || [];\n tmp = tmp[2] && new RegExp("(^|\\\\.)" + namespaces.join("\\\\.(?:.*\\\\.|)") + "(\\\\.|$)");\n\n // Remove matching events\n origCount = j = handlers.length;\n while (j--) {\n handleObj = handlers[j];\n if ((mappedTypes || origType === handleObj.origType) && (!handler || handler.guid === handleObj.guid) && (!tmp || tmp.test(handleObj.namespace)) && (!selector || selector === handleObj.selector || selector === "**" && handleObj.selector)) {\n handlers.splice(j, 1);\n if (handleObj.selector) {\n handlers.delegateCount--;\n }\n if (special.remove) {\n special.remove.call(elem, handleObj);\n }\n }\n }\n\n // Remove generic event handler if we removed something and no more handlers exist\n // (avoids potential for endless recursion during removal of special event handlers)\n if (origCount && !handlers.length) {\n if (!special.teardown || special.teardown.call(elem, namespaces, elemData.handle) === false) {\n jQuery.removeEvent(elem, type, elemData.handle);\n }\n delete events[type];\n }\n }\n\n // Remove data and the expando if it\'s no longer used\n if (jQuery.isEmptyObject(events)) {\n dataPriv.remove(elem, "handle events");\n }\n },\n dispatch: function dispatch(nativeEvent) {\n var i,\n j,\n ret,\n matched,\n handleObj,\n handlerQueue,\n args = new Array(arguments.length),\n // Make a writable jQuery.Event from the native event object\n event = jQuery.event.fix(nativeEvent),\n handlers = (dataPriv.get(this, "events") || Object.create(null))[event.type] || [],\n special = jQuery.event.special[event.type] || {};\n\n // Use the fix-ed jQuery.Event rather than the (read-only) native event\n args[0] = event;\n for (i = 1; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n event.delegateTarget = this;\n\n // Call the preDispatch hook for the mapped type, and let it bail if desired\n if (special.preDispatch && special.preDispatch.call(this, event) === false) {\n return;\n }\n\n // Determine handlers\n handlerQueue = jQuery.event.handlers.call(this, event, handlers);\n\n // Run delegates first; they may want to stop propagation beneath us\n i = 0;\n while ((matched = handlerQueue[i++]) && !event.isPropagationStopped()) {\n event.currentTarget = matched.elem;\n j = 0;\n while ((handleObj = matched.handlers[j++]) && !event.isImmediatePropagationStopped()) {\n // If the event is namespaced, then each handler is only invoked if it is\n // specially universal or its namespaces are a superset of the event\'s.\n if (!event.rnamespace || handleObj.namespace === false || event.rnamespace.test(handleObj.namespace)) {\n event.handleObj = handleObj;\n event.data = handleObj.data;\n ret = ((jQuery.event.special[handleObj.origType] || {}).handle || handleObj.handler).apply(matched.elem, args);\n if (ret !== undefined) {\n if ((event.result = ret) === false) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n }\n }\n }\n\n // Call the postDispatch hook for the mapped type\n if (special.postDispatch) {\n special.postDispatch.call(this, event);\n }\n return event.result;\n },\n handlers: function handlers(event, _handlers) {\n var i,\n handleObj,\n sel,\n matchedHandlers,\n matchedSelectors,\n handlerQueue = [],\n delegateCount = _handlers.delegateCount,\n cur = event.target;\n\n // Find delegate handlers\n if (delegateCount &&\n // Support: IE <=9\n // Black-hole SVG instance trees (trac-13180)\n cur.nodeType &&\n // Support: Firefox <=42\n // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n // Support: IE 11 only\n // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)\n !(event.type === "click" && event.button >= 1)) {\n for (; cur !== this; cur = cur.parentNode || this) {\n // Don\'t check non-elements (trac-13208)\n // Don\'t process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)\n if (cur.nodeType === 1 && !(event.type === "click" && cur.disabled === true)) {\n matchedHandlers = [];\n matchedSelectors = {};\n for (i = 0; i < delegateCount; i++) {\n handleObj = _handlers[i];\n\n // Don\'t conflict with Object.prototype properties (trac-13203)\n sel = handleObj.selector + " ";\n if (matchedSelectors[sel] === undefined) {\n matchedSelectors[sel] = handleObj.needsContext ? jQuery(sel, this).index(cur) > -1 : jQuery.find(sel, this, null, [cur]).length;\n }\n if (matchedSelectors[sel]) {\n matchedHandlers.push(handleObj);\n }\n }\n if (matchedHandlers.length) {\n handlerQueue.push({\n elem: cur,\n handlers: matchedHandlers\n });\n }\n }\n }\n }\n\n // Add the remaining (directly-bound) handlers\n cur = this;\n if (delegateCount < _handlers.length) {\n handlerQueue.push({\n elem: cur,\n handlers: _handlers.slice(delegateCount)\n });\n }\n return handlerQueue;\n },\n addProp: function addProp(name, hook) {\n Object.defineProperty(jQuery.Event.prototype, name, {\n enumerable: true,\n configurable: true,\n get: isFunction(hook) ? function () {\n if (this.originalEvent) {\n return hook(this.originalEvent);\n }\n } : function () {\n if (this.originalEvent) {\n return this.originalEvent[name];\n }\n },\n set: function set(value) {\n Object.defineProperty(this, name, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: value\n });\n }\n });\n },\n fix: function fix(originalEvent) {\n return originalEvent[jQuery.expando] ? originalEvent : new jQuery.Event(originalEvent);\n },\n special: {\n load: {\n // Prevent triggered image.load events from bubbling to window.load\n noBubble: true\n },\n click: {\n // Utilize native event to ensure correct state for checkable inputs\n setup: function setup(data) {\n // For mutual compressibility with _default, replace `this` access with a local var.\n // `|| data` is dead code meant only to preserve the variable through minification.\n var el = this || data;\n\n // Claim the first handler\n if (rcheckableType.test(el.type) && el.click && nodeName(el, "input")) {\n // dataPriv.set( el, "click", ... )\n leverageNative(el, "click", true);\n }\n\n // Return false to allow normal processing in the caller\n return false;\n },\n trigger: function trigger(data) {\n // For mutual compressibility with _default, replace `this` access with a local var.\n // `|| data` is dead code meant only to preserve the variable through minification.\n var el = this || data;\n\n // Force setup before triggering a click\n if (rcheckableType.test(el.type) && el.click && nodeName(el, "input")) {\n leverageNative(el, "click");\n }\n\n // Return non-false to allow normal event-path propagation\n return true;\n },\n // For cross-browser consistency, suppress native .click() on links\n // Also prevent it if we\'re currently inside a leveraged native-event stack\n _default: function _default(event) {\n var target = event.target;\n return rcheckableType.test(target.type) && target.click && nodeName(target, "input") && dataPriv.get(target, "click") || nodeName(target, "a");\n }\n },\n beforeunload: {\n postDispatch: function postDispatch(event) {\n // Support: Firefox 20+\n // Firefox doesn\'t alert if the returnValue field is not set.\n if (event.result !== undefined && event.originalEvent) {\n event.originalEvent.returnValue = event.result;\n }\n }\n }\n }\n };\n\n // Ensure the presence of an event listener that handles manually-triggered\n // synthetic events by interrupting progress until reinvoked in response to\n // *native* events that it fires directly, ensuring that state changes have\n // already occurred before other listeners are invoked.\n function leverageNative(el, type, isSetup) {\n // Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add\n if (!isSetup) {\n if (dataPriv.get(el, type) === undefined) {\n jQuery.event.add(el, type, returnTrue);\n }\n return;\n }\n\n // Register the controller as a special universal handler for all event namespaces\n dataPriv.set(el, type, false);\n jQuery.event.add(el, type, {\n namespace: false,\n handler: function handler(event) {\n var result,\n saved = dataPriv.get(this, type);\n if (event.isTrigger & 1 && this[type]) {\n // Interrupt processing of the outer synthetic .trigger()ed event\n if (!saved) {\n // Store arguments for use when handling the inner native event\n // There will always be at least one argument (an event object), so this array\n // will not be confused with a leftover capture object.\n saved = _slice.call(arguments);\n dataPriv.set(this, type, saved);\n\n // Trigger the native event and capture its result\n this[type]();\n result = dataPriv.get(this, type);\n dataPriv.set(this, type, false);\n if (saved !== result) {\n // Cancel the outer synthetic event\n event.stopImmediatePropagation();\n event.preventDefault();\n return result;\n }\n\n // If this is an inner synthetic event for an event with a bubbling surrogate\n // (focus or blur), assume that the surrogate already propagated from triggering\n // the native event and prevent that from happening again here.\n // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n // bubbling surrogate propagates *after* the non-bubbling base), but that seems\n // less bad than duplication.\n } else if ((jQuery.event.special[type] || {}).delegateType) {\n event.stopPropagation();\n }\n\n // If this is a native event triggered above, everything is now in order\n // Fire an inner synthetic event with the original arguments\n } else if (saved) {\n // ...and capture the result\n dataPriv.set(this, type, jQuery.event.trigger(saved[0], saved.slice(1), this));\n\n // Abort handling of the native event by all jQuery handlers while allowing\n // native handlers on the same element to run. On target, this is achieved\n // by stopping immediate propagation just on the jQuery event. However,\n // the native event is re-wrapped by a jQuery one on each level of the\n // propagation so the only way to stop it for jQuery is to stop it for\n // everyone via native `stopPropagation()`. This is not a problem for\n // focus/blur which don\'t bubble, but it does also stop click on checkboxes\n // and radios. We accept this limitation.\n event.stopPropagation();\n event.isImmediatePropagationStopped = returnTrue;\n }\n }\n });\n }\n jQuery.removeEvent = function (elem, type, handle) {\n // This "if" is needed for plain objects\n if (elem.removeEventListener) {\n elem.removeEventListener(type, handle);\n }\n };\n jQuery.Event = function (src, props) {\n // Allow instantiation without the \'new\' keyword\n if (!(this instanceof jQuery.Event)) {\n return new jQuery.Event(src, props);\n }\n\n // Event object\n if (src && src.type) {\n this.originalEvent = src;\n this.type = src.type;\n\n // Events bubbling up the document may have been marked as prevented\n // by a handler lower down the tree; reflect the correct value.\n this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === undefined &&\n // Support: Android <=2.3 only\n src.returnValue === false ? returnTrue : returnFalse;\n\n // Create target properties\n // Support: Safari <=6 - 7 only\n // Target should not be a text node (trac-504, trac-13143)\n this.target = src.target && src.target.nodeType === 3 ? src.target.parentNode : src.target;\n this.currentTarget = src.currentTarget;\n this.relatedTarget = src.relatedTarget;\n\n // Event type\n } else {\n this.type = src;\n }\n\n // Put explicitly provided properties onto the event object\n if (props) {\n jQuery.extend(this, props);\n }\n\n // Create a timestamp if incoming event doesn\'t have one\n this.timeStamp = src && src.timeStamp || Date.now();\n\n // Mark it as fixed\n this[jQuery.expando] = true;\n };\n\n // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n // https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\n jQuery.Event.prototype = {\n constructor: jQuery.Event,\n isDefaultPrevented: returnFalse,\n isPropagationStopped: returnFalse,\n isImmediatePropagationStopped: returnFalse,\n isSimulated: false,\n preventDefault: function preventDefault() {\n var e = this.originalEvent;\n this.isDefaultPrevented = returnTrue;\n if (e && !this.isSimulated) {\n e.preventDefault();\n }\n },\n stopPropagation: function stopPropagation() {\n var e = this.originalEvent;\n this.isPropagationStopped = returnTrue;\n if (e && !this.isSimulated) {\n e.stopPropagation();\n }\n },\n stopImmediatePropagation: function stopImmediatePropagation() {\n var e = this.originalEvent;\n this.isImmediatePropagationStopped = returnTrue;\n if (e && !this.isSimulated) {\n e.stopImmediatePropagation();\n }\n this.stopPropagation();\n }\n };\n\n // Includes all common event props including KeyEvent and MouseEvent specific props\n jQuery.each({\n altKey: true,\n bubbles: true,\n cancelable: true,\n changedTouches: true,\n ctrlKey: true,\n detail: true,\n eventPhase: true,\n metaKey: true,\n pageX: true,\n pageY: true,\n shiftKey: true,\n view: true,\n "char": true,\n code: true,\n charCode: true,\n key: true,\n keyCode: true,\n button: true,\n buttons: true,\n clientX: true,\n clientY: true,\n offsetX: true,\n offsetY: true,\n pointerId: true,\n pointerType: true,\n screenX: true,\n screenY: true,\n targetTouches: true,\n toElement: true,\n touches: true,\n which: true\n }, jQuery.event.addProp);\n jQuery.each({\n focus: "focusin",\n blur: "focusout"\n }, function (type, delegateType) {\n function focusMappedHandler(nativeEvent) {\n if (document.documentMode) {\n // Support: IE 11+\n // Attach a single focusin/focusout handler on the document while someone wants\n // focus/blur. This is because the former are synchronous in IE while the latter\n // are async. In other browsers, all those handlers are invoked synchronously.\n\n // `handle` from private data would already wrap the event, but we need\n // to change the `type` here.\n var handle = dataPriv.get(this, "handle"),\n event = jQuery.event.fix(nativeEvent);\n event.type = nativeEvent.type === "focusin" ? "focus" : "blur";\n event.isSimulated = true;\n\n // First, handle focusin/focusout\n handle(nativeEvent);\n\n // ...then, handle focus/blur\n //\n // focus/blur don\'t bubble while focusin/focusout do; simulate the former by only\n // invoking the handler at the lower level.\n if (event.target === event.currentTarget) {\n // The setup part calls `leverageNative`, which, in turn, calls\n // `jQuery.event.add`, so event handle will already have been set\n // by this point.\n handle(event);\n }\n } else {\n // For non-IE browsers, attach a single capturing handler on the document\n // while someone wants focusin/focusout.\n jQuery.event.simulate(delegateType, nativeEvent.target, jQuery.event.fix(nativeEvent));\n }\n }\n jQuery.event.special[type] = {\n // Utilize native event if possible so blur/focus sequence is correct\n setup: function setup() {\n var attaches;\n\n // Claim the first handler\n // dataPriv.set( this, "focus", ... )\n // dataPriv.set( this, "blur", ... )\n leverageNative(this, type, true);\n if (document.documentMode) {\n // Support: IE 9 - 11+\n // We use the same native handler for focusin & focus (and focusout & blur)\n // so we need to coordinate setup & teardown parts between those events.\n // Use `delegateType` as the key as `type` is already used by `leverageNative`.\n attaches = dataPriv.get(this, delegateType);\n if (!attaches) {\n this.addEventListener(delegateType, focusMappedHandler);\n }\n dataPriv.set(this, delegateType, (attaches || 0) + 1);\n } else {\n // Return false to allow normal processing in the caller\n return false;\n }\n },\n trigger: function trigger() {\n // Force setup before trigger\n leverageNative(this, type);\n\n // Return non-false to allow normal event-path propagation\n return true;\n },\n teardown: function teardown() {\n var attaches;\n if (document.documentMode) {\n attaches = dataPriv.get(this, delegateType) - 1;\n if (!attaches) {\n this.removeEventListener(delegateType, focusMappedHandler);\n dataPriv.remove(this, delegateType);\n } else {\n dataPriv.set(this, delegateType, attaches);\n }\n } else {\n // Return false to indicate standard teardown should be applied\n return false;\n }\n },\n // Suppress native focus or blur if we\'re currently inside\n // a leveraged native-event stack\n _default: function _default(event) {\n return dataPriv.get(event.target, type);\n },\n delegateType: delegateType\n };\n\n // Support: Firefox <=44\n // Firefox doesn\'t have focus(in | out) events\n // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n //\n // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\n // focus(in | out) events fire after focus & blur events,\n // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\n //\n // Support: IE 9 - 11+\n // To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch,\n // attach a single handler for both events in IE.\n jQuery.event.special[delegateType] = {\n setup: function setup() {\n // Handle: regular nodes (via `this.ownerDocument`), window\n // (via `this.document`) & document (via `this`).\n var doc = this.ownerDocument || this.document || this,\n dataHolder = document.documentMode ? this : doc,\n attaches = dataPriv.get(dataHolder, delegateType);\n\n // Support: IE 9 - 11+\n // We use the same native handler for focusin & focus (and focusout & blur)\n // so we need to coordinate setup & teardown parts between those events.\n // Use `delegateType` as the key as `type` is already used by `leverageNative`.\n if (!attaches) {\n if (document.documentMode) {\n this.addEventListener(delegateType, focusMappedHandler);\n } else {\n doc.addEventListener(type, focusMappedHandler, true);\n }\n }\n dataPriv.set(dataHolder, delegateType, (attaches || 0) + 1);\n },\n teardown: function teardown() {\n var doc = this.ownerDocument || this.document || this,\n dataHolder = document.documentMode ? this : doc,\n attaches = dataPriv.get(dataHolder, delegateType) - 1;\n if (!attaches) {\n if (document.documentMode) {\n this.removeEventListener(delegateType, focusMappedHandler);\n } else {\n doc.removeEventListener(type, focusMappedHandler, true);\n }\n dataPriv.remove(dataHolder, delegateType);\n } else {\n dataPriv.set(dataHolder, delegateType, attaches);\n }\n }\n };\n });\n\n // Create mouseenter/leave events using mouseover/out and event-time checks\n // so that event delegation works in jQuery.\n // Do the same for pointerenter/pointerleave and pointerover/pointerout\n //\n // Support: Safari 7 only\n // Safari sends mouseenter too often; see:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n // for the description of the bug (it existed in older Chrome versions as well).\n jQuery.each({\n mouseenter: "mouseover",\n mouseleave: "mouseout",\n pointerenter: "pointerover",\n pointerleave: "pointerout"\n }, function (orig, fix) {\n jQuery.event.special[orig] = {\n delegateType: fix,\n bindType: fix,\n handle: function handle(event) {\n var ret,\n target = this,\n related = event.relatedTarget,\n handleObj = event.handleObj;\n\n // For mouseenter/leave call the handler if related is outside the target.\n // NB: No relatedTarget if the mouse left/entered the browser window\n if (!related || related !== target && !jQuery.contains(target, related)) {\n event.type = handleObj.origType;\n ret = handleObj.handler.apply(this, arguments);\n event.type = fix;\n }\n return ret;\n }\n };\n });\n jQuery.fn.extend({\n on: function on(types, selector, data, fn) {\n return _on(this, types, selector, data, fn);\n },\n one: function one(types, selector, data, fn) {\n return _on(this, types, selector, data, fn, 1);\n },\n off: function off(types, selector, fn) {\n var handleObj, type;\n if (types && types.preventDefault && types.handleObj) {\n // ( event ) dispatched jQuery.Event\n handleObj = types.handleObj;\n jQuery(types.delegateTarget).off(handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, handleObj.selector, handleObj.handler);\n return this;\n }\n if (_typeof(types) === "object") {\n // ( types-object [, selector] )\n for (type in types) {\n this.off(type, selector, types[type]);\n }\n return this;\n }\n if (selector === false || typeof selector === "function") {\n // ( types [, fn] )\n fn = selector;\n selector = undefined;\n }\n if (fn === false) {\n fn = returnFalse;\n }\n return this.each(function () {\n jQuery.event.remove(this, types, fn, selector);\n });\n }\n });\n var\n // Support: IE <=10 - 11, Edge 12 - 13 only\n // In IE/Edge using regex groups here causes severe slowdowns.\n // See https://connect.microsoft.com/IE/feedback/details/1736512/\n rnoInnerhtml = /\\s*$/g;\n\n // Prefer a tbody over its parent table for containing new rows\n function manipulationTarget(elem, content) {\n if (nodeName(elem, "table") && nodeName(content.nodeType !== 11 ? content : content.firstChild, "tr")) {\n return jQuery(elem).children("tbody")[0] || elem;\n }\n return elem;\n }\n\n // Replace/restore the type attribute of script elements for safe DOM manipulation\n function disableScript(elem) {\n elem.type = (elem.getAttribute("type") !== null) + "/" + elem.type;\n return elem;\n }\n function restoreScript(elem) {\n if ((elem.type || "").slice(0, 5) === "true/") {\n elem.type = elem.type.slice(5);\n } else {\n elem.removeAttribute("type");\n }\n return elem;\n }\n function cloneCopyEvent(src, dest) {\n var i, l, type, pdataOld, udataOld, udataCur, events;\n if (dest.nodeType !== 1) {\n return;\n }\n\n // 1. Copy private data: events, handlers, etc.\n if (dataPriv.hasData(src)) {\n pdataOld = dataPriv.get(src);\n events = pdataOld.events;\n if (events) {\n dataPriv.remove(dest, "handle events");\n for (type in events) {\n for (i = 0, l = events[type].length; i < l; i++) {\n jQuery.event.add(dest, type, events[type][i]);\n }\n }\n }\n }\n\n // 2. Copy user data\n if (dataUser.hasData(src)) {\n udataOld = dataUser.access(src);\n udataCur = jQuery.extend({}, udataOld);\n dataUser.set(dest, udataCur);\n }\n }\n\n // Fix IE bugs, see support tests\n function fixInput(src, dest) {\n var nodeName = dest.nodeName.toLowerCase();\n\n // Fails to persist the checked state of a cloned checkbox or radio button.\n if (nodeName === "input" && rcheckableType.test(src.type)) {\n dest.checked = src.checked;\n\n // Fails to return the selected option to the default selected state when cloning options\n } else if (nodeName === "input" || nodeName === "textarea") {\n dest.defaultValue = src.defaultValue;\n }\n }\n function domManip(collection, args, callback, ignored) {\n // Flatten any nested arrays\n args = flat(args);\n var fragment,\n first,\n scripts,\n hasScripts,\n node,\n doc,\n i = 0,\n l = collection.length,\n iNoClone = l - 1,\n value = args[0],\n valueIsFunction = isFunction(value);\n\n // We can\'t cloneNode fragments that contain checked, in WebKit\n if (valueIsFunction || l > 1 && typeof value === "string" && !support.checkClone && rchecked.test(value)) {\n return collection.each(function (index) {\n var self = collection.eq(index);\n if (valueIsFunction) {\n args[0] = value.call(this, index, self.html());\n }\n domManip(self, args, callback, ignored);\n });\n }\n if (l) {\n fragment = buildFragment(args, collection[0].ownerDocument, false, collection, ignored);\n first = fragment.firstChild;\n if (fragment.childNodes.length === 1) {\n fragment = first;\n }\n\n // Require either new content or an interest in ignored elements to invoke the callback\n if (first || ignored) {\n scripts = jQuery.map(getAll(fragment, "script"), disableScript);\n hasScripts = scripts.length;\n\n // Use the original fragment for the last item\n // instead of the first because it can end up\n // being emptied incorrectly in certain situations (trac-8070).\n for (; i < l; i++) {\n node = fragment;\n if (i !== iNoClone) {\n node = jQuery.clone(node, true, true);\n\n // Keep references to cloned scripts for later restoration\n if (hasScripts) {\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n jQuery.merge(scripts, getAll(node, "script"));\n }\n }\n callback.call(collection[i], node, i);\n }\n if (hasScripts) {\n doc = scripts[scripts.length - 1].ownerDocument;\n\n // Re-enable scripts\n jQuery.map(scripts, restoreScript);\n\n // Evaluate executable scripts on first document insertion\n for (i = 0; i < hasScripts; i++) {\n node = scripts[i];\n if (rscriptType.test(node.type || "") && !dataPriv.access(node, "globalEval") && jQuery.contains(doc, node)) {\n if (node.src && (node.type || "").toLowerCase() !== "module") {\n // Optional AJAX dependency, but won\'t run scripts if not present\n if (jQuery._evalUrl && !node.noModule) {\n jQuery._evalUrl(node.src, {\n nonce: node.nonce || node.getAttribute("nonce")\n }, doc);\n }\n } else {\n // Unwrap a CDATA section containing script contents. This shouldn\'t be\n // needed as in XML documents they\'re already not visible when\n // inspecting element contents and in HTML documents they have no\n // meaning but we\'re preserving that logic for backwards compatibility.\n // This will be removed completely in 4.0. See gh-4904.\n DOMEval(node.textContent.replace(rcleanScript, ""), node, doc);\n }\n }\n }\n }\n }\n }\n return collection;\n }\n function _remove(elem, selector, keepData) {\n var node,\n nodes = selector ? jQuery.filter(selector, elem) : elem,\n i = 0;\n for (; (node = nodes[i]) != null; i++) {\n if (!keepData && node.nodeType === 1) {\n jQuery.cleanData(getAll(node));\n }\n if (node.parentNode) {\n if (keepData && isAttached(node)) {\n setGlobalEval(getAll(node, "script"));\n }\n node.parentNode.removeChild(node);\n }\n }\n return elem;\n }\n jQuery.extend({\n htmlPrefilter: function htmlPrefilter(html) {\n return html;\n },\n clone: function clone(elem, dataAndEvents, deepDataAndEvents) {\n var i,\n l,\n srcElements,\n destElements,\n clone = elem.cloneNode(true),\n inPage = isAttached(elem);\n\n // Fix IE cloning issues\n if (!support.noCloneChecked && (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem)) {\n // We eschew jQuery#find here for performance reasons:\n // https://jsperf.com/getall-vs-sizzle/2\n destElements = getAll(clone);\n srcElements = getAll(elem);\n for (i = 0, l = srcElements.length; i < l; i++) {\n fixInput(srcElements[i], destElements[i]);\n }\n }\n\n // Copy the events from the original to the clone\n if (dataAndEvents) {\n if (deepDataAndEvents) {\n srcElements = srcElements || getAll(elem);\n destElements = destElements || getAll(clone);\n for (i = 0, l = srcElements.length; i < l; i++) {\n cloneCopyEvent(srcElements[i], destElements[i]);\n }\n } else {\n cloneCopyEvent(elem, clone);\n }\n }\n\n // Preserve script evaluation history\n destElements = getAll(clone, "script");\n if (destElements.length > 0) {\n setGlobalEval(destElements, !inPage && getAll(elem, "script"));\n }\n\n // Return the cloned set\n return clone;\n },\n cleanData: function cleanData(elems) {\n var data,\n elem,\n type,\n special = jQuery.event.special,\n i = 0;\n for (; (elem = elems[i]) !== undefined; i++) {\n if (acceptData(elem)) {\n if (data = elem[dataPriv.expando]) {\n if (data.events) {\n for (type in data.events) {\n if (special[type]) {\n jQuery.event.remove(elem, type);\n\n // This is a shortcut to avoid jQuery.event.remove\'s overhead\n } else {\n jQuery.removeEvent(elem, type, data.handle);\n }\n }\n }\n\n // Support: Chrome <=35 - 45+\n // Assign undefined instead of using delete, see Data#remove\n elem[dataPriv.expando] = undefined;\n }\n if (elem[dataUser.expando]) {\n // Support: Chrome <=35 - 45+\n // Assign undefined instead of using delete, see Data#remove\n elem[dataUser.expando] = undefined;\n }\n }\n }\n }\n });\n jQuery.fn.extend({\n detach: function detach(selector) {\n return _remove(this, selector, true);\n },\n remove: function remove(selector) {\n return _remove(this, selector);\n },\n text: function text(value) {\n return access(this, function (value) {\n return value === undefined ? jQuery.text(this) : this.empty().each(function () {\n if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {\n this.textContent = value;\n }\n });\n }, null, value, arguments.length);\n },\n append: function append() {\n return domManip(this, arguments, function (elem) {\n if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {\n var target = manipulationTarget(this, elem);\n target.appendChild(elem);\n }\n });\n },\n prepend: function prepend() {\n return domManip(this, arguments, function (elem) {\n if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {\n var target = manipulationTarget(this, elem);\n target.insertBefore(elem, target.firstChild);\n }\n });\n },\n before: function before() {\n return domManip(this, arguments, function (elem) {\n if (this.parentNode) {\n this.parentNode.insertBefore(elem, this);\n }\n });\n },\n after: function after() {\n return domManip(this, arguments, function (elem) {\n if (this.parentNode) {\n this.parentNode.insertBefore(elem, this.nextSibling);\n }\n });\n },\n empty: function empty() {\n var elem,\n i = 0;\n for (; (elem = this[i]) != null; i++) {\n if (elem.nodeType === 1) {\n // Prevent memory leaks\n jQuery.cleanData(getAll(elem, false));\n\n // Remove any remaining nodes\n elem.textContent = "";\n }\n }\n return this;\n },\n clone: function clone(dataAndEvents, deepDataAndEvents) {\n dataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n return this.map(function () {\n return jQuery.clone(this, dataAndEvents, deepDataAndEvents);\n });\n },\n html: function html(value) {\n return access(this, function (value) {\n var elem = this[0] || {},\n i = 0,\n l = this.length;\n if (value === undefined && elem.nodeType === 1) {\n return elem.innerHTML;\n }\n\n // See if we can take a shortcut and just use innerHTML\n if (typeof value === "string" && !rnoInnerhtml.test(value) && !wrapMap[(rtagName.exec(value) || ["", ""])[1].toLowerCase()]) {\n value = jQuery.htmlPrefilter(value);\n try {\n for (; i < l; i++) {\n elem = this[i] || {};\n\n // Remove element nodes and prevent memory leaks\n if (elem.nodeType === 1) {\n jQuery.cleanData(getAll(elem, false));\n elem.innerHTML = value;\n }\n }\n elem = 0;\n\n // If using innerHTML throws an exception, use the fallback method\n } catch (e) {}\n }\n if (elem) {\n this.empty().append(value);\n }\n }, null, value, arguments.length);\n },\n replaceWith: function replaceWith() {\n var ignored = [];\n\n // Make the changes, replacing each non-ignored context element with the new content\n return domManip(this, arguments, function (elem) {\n var parent = this.parentNode;\n if (jQuery.inArray(this, ignored) < 0) {\n jQuery.cleanData(getAll(this));\n if (parent) {\n parent.replaceChild(elem, this);\n }\n }\n\n // Force callback invocation\n }, ignored);\n }\n });\n jQuery.each({\n appendTo: "append",\n prependTo: "prepend",\n insertBefore: "before",\n insertAfter: "after",\n replaceAll: "replaceWith"\n }, function (name, original) {\n jQuery.fn[name] = function (selector) {\n var elems,\n ret = [],\n insert = jQuery(selector),\n last = insert.length - 1,\n i = 0;\n for (; i <= last; i++) {\n elems = i === last ? this : this.clone(true);\n jQuery(insert[i])[original](elems);\n\n // Support: Android <=4.0 only, PhantomJS 1 only\n // .get() because push.apply(_, arraylike) throws on ancient WebKit\n push.apply(ret, elems.get());\n }\n return this.pushStack(ret);\n };\n });\n var rnumnonpx = new RegExp("^(" + pnum + ")(?!px)[a-z%]+$", "i");\n var rcustomProp = /^--/;\n var getStyles = function getStyles(elem) {\n // Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)\n // IE throws on elements created in popups\n // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"\n var view = elem.ownerDocument.defaultView;\n if (!view || !view.opener) {\n view = window;\n }\n return view.getComputedStyle(elem);\n };\n var swap = function swap(elem, options, callback) {\n var ret,\n name,\n old = {};\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n old[name] = elem.style[name];\n elem.style[name] = options[name];\n }\n ret = callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n elem.style[name] = old[name];\n }\n return ret;\n };\n var rboxStyle = new RegExp(cssExpand.join("|"), "i");\n (function () {\n // Executing both pixelPosition & boxSizingReliable tests require only one layout\n // so they\'re executed at the same time to save the second computation.\n function computeStyleTests() {\n // This is a singleton, we need to execute it only once\n if (!div) {\n return;\n }\n container.style.cssText = "position:absolute;left:-11111px;width:60px;" + "margin-top:1px;padding:0;border:0";\n div.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + "margin:auto;border:1px;padding:1px;" + "width:60%;top:1%";\n documentElement.appendChild(container).appendChild(div);\n var divStyle = window.getComputedStyle(div);\n pixelPositionVal = divStyle.top !== "1%";\n\n // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\n reliableMarginLeftVal = roundPixelMeasures(divStyle.marginLeft) === 12;\n\n // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\n // Some styles come back with percentage values, even though they shouldn\'t\n div.style.right = "60%";\n pixelBoxStylesVal = roundPixelMeasures(divStyle.right) === 36;\n\n // Support: IE 9 - 11 only\n // Detect misreporting of content dimensions for box-sizing:border-box elements\n boxSizingReliableVal = roundPixelMeasures(divStyle.width) === 36;\n\n // Support: IE 9 only\n // Detect overflow:scroll screwiness (gh-3699)\n // Support: Chrome <=64\n // Don\'t get tricked when zoom affects offsetWidth (gh-4029)\n div.style.position = "absolute";\n scrollboxSizeVal = roundPixelMeasures(div.offsetWidth / 3) === 12;\n documentElement.removeChild(container);\n\n // Nullify the div so it wouldn\'t be stored in the memory and\n // it will also be a sign that checks already performed\n div = null;\n }\n function roundPixelMeasures(measure) {\n return Math.round(parseFloat(measure));\n }\n var pixelPositionVal,\n boxSizingReliableVal,\n scrollboxSizeVal,\n pixelBoxStylesVal,\n reliableTrDimensionsVal,\n reliableMarginLeftVal,\n container = document.createElement("div"),\n div = document.createElement("div");\n\n // Finish early in limited (non-browser) environments\n if (!div.style) {\n return;\n }\n\n // Support: IE <=9 - 11 only\n // Style of cloned element affects source element cloned (trac-8908)\n div.style.backgroundClip = "content-box";\n div.cloneNode(true).style.backgroundClip = "";\n support.clearCloneStyle = div.style.backgroundClip === "content-box";\n jQuery.extend(support, {\n boxSizingReliable: function boxSizingReliable() {\n computeStyleTests();\n return boxSizingReliableVal;\n },\n pixelBoxStyles: function pixelBoxStyles() {\n computeStyleTests();\n return pixelBoxStylesVal;\n },\n pixelPosition: function pixelPosition() {\n computeStyleTests();\n return pixelPositionVal;\n },\n reliableMarginLeft: function reliableMarginLeft() {\n computeStyleTests();\n return reliableMarginLeftVal;\n },\n scrollboxSize: function scrollboxSize() {\n computeStyleTests();\n return scrollboxSizeVal;\n },\n // Support: IE 9 - 11+, Edge 15 - 18+\n // IE/Edge misreport `getComputedStyle` of table rows with width/height\n // set in CSS while `offset*` properties report correct values.\n // Behavior in IE 9 is more subtle than in newer versions & it passes\n // some versions of this test; make sure not to make it pass there!\n //\n // Support: Firefox 70+\n // Only Firefox includes border widths\n // in computed dimensions. (gh-4529)\n reliableTrDimensions: function reliableTrDimensions() {\n var table, tr, trChild, trStyle;\n if (reliableTrDimensionsVal == null) {\n table = document.createElement("table");\n tr = document.createElement("tr");\n trChild = document.createElement("div");\n table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate";\n tr.style.cssText = "box-sizing:content-box;border:1px solid";\n\n // Support: Chrome 86+\n // Height set through cssText does not get applied.\n // Computed height then comes back as 0.\n tr.style.height = "1px";\n trChild.style.height = "9px";\n\n // Support: Android 8 Chrome 86+\n // In our bodyBackground.html iframe,\n // display for all div elements is set to "inline",\n // which causes a problem only in Android 8 Chrome 86.\n // Ensuring the div is `display: block`\n // gets around this issue.\n trChild.style.display = "block";\n documentElement.appendChild(table).appendChild(tr).appendChild(trChild);\n trStyle = window.getComputedStyle(tr);\n reliableTrDimensionsVal = parseInt(trStyle.height, 10) + parseInt(trStyle.borderTopWidth, 10) + parseInt(trStyle.borderBottomWidth, 10) === tr.offsetHeight;\n documentElement.removeChild(table);\n }\n return reliableTrDimensionsVal;\n }\n });\n })();\n function curCSS(elem, name, computed) {\n var width,\n minWidth,\n maxWidth,\n ret,\n isCustomProp = rcustomProp.test(name),\n // Support: Firefox 51+\n // Retrieving style before computed somehow\n // fixes an issue with getting wrong values\n // on detached elements\n style = elem.style;\n computed = computed || getStyles(elem);\n\n // getPropertyValue is needed for:\n // .css(\'filter\') (IE 9 only, trac-12537)\n // .css(\'--customProperty) (gh-3144)\n if (computed) {\n // Support: IE <=9 - 11+\n // IE only supports `"float"` in `getPropertyValue`; in computed styles\n // it\'s only available as `"cssFloat"`. We no longer modify properties\n // sent to `.css()` apart from camelCasing, so we need to check both.\n // Normally, this would create difference in behavior: if\n // `getPropertyValue` returns an empty string, the value returned\n // by `.css()` would be `undefined`. This is usually the case for\n // disconnected elements. However, in IE even disconnected elements\n // with no styles return `"none"` for `getPropertyValue( "float" )`\n ret = computed.getPropertyValue(name) || computed[name];\n if (isCustomProp && ret) {\n // Support: Firefox 105+, Chrome <=105+\n // Spec requires trimming whitespace for custom properties (gh-4926).\n // Firefox only trims leading whitespace. Chrome just collapses\n // both leading & trailing whitespace to a single space.\n //\n // Fall back to `undefined` if empty string returned.\n // This collapses a missing definition with property defined\n // and set to an empty string but there\'s no standard API\n // allowing us to differentiate them without a performance penalty\n // and returning `undefined` aligns with older jQuery.\n //\n // rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED\n // as whitespace while CSS does not, but this is not a problem\n // because CSS preprocessing replaces them with U+000A LINE FEED\n // (which *is* CSS whitespace)\n // https://www.w3.org/TR/css-syntax-3/#input-preprocessing\n ret = ret.replace(rtrimCSS, "$1") || undefined;\n }\n if (ret === "" && !isAttached(elem)) {\n ret = jQuery.style(elem, name);\n }\n\n // A tribute to the "awesome hack by Dean Edwards"\n // Android Browser returns percentage for some values,\n // but width seems to be reliably pixels.\n // This is against the CSSOM draft spec:\n // https://drafts.csswg.org/cssom/#resolved-values\n if (!support.pixelBoxStyles() && rnumnonpx.test(ret) && rboxStyle.test(name)) {\n // Remember the original values\n width = style.width;\n minWidth = style.minWidth;\n maxWidth = style.maxWidth;\n\n // Put in the new values to get a computed value out\n style.minWidth = style.maxWidth = style.width = ret;\n ret = computed.width;\n\n // Revert the changed values\n style.width = width;\n style.minWidth = minWidth;\n style.maxWidth = maxWidth;\n }\n }\n return ret !== undefined ?\n // Support: IE <=9 - 11 only\n // IE returns zIndex value as an integer.\n ret + "" : ret;\n }\n function addGetHookIf(conditionFn, hookFn) {\n // Define the hook, we\'ll check on the first run if it\'s really needed.\n return {\n get: function get() {\n if (conditionFn()) {\n // Hook not needed (or it\'s not possible to use it due\n // to missing dependency), remove it.\n delete this.get;\n return;\n }\n\n // Hook needed; redefine it so that the support test is not executed again.\n return (this.get = hookFn).apply(this, arguments);\n }\n };\n }\n var cssPrefixes = ["Webkit", "Moz", "ms"],\n emptyStyle = document.createElement("div").style,\n vendorProps = {};\n\n // Return a vendor-prefixed property or undefined\n function vendorPropName(name) {\n // Check for vendor prefixed names\n var capName = name[0].toUpperCase() + name.slice(1),\n i = cssPrefixes.length;\n while (i--) {\n name = cssPrefixes[i] + capName;\n if (name in emptyStyle) {\n return name;\n }\n }\n }\n\n // Return a potentially-mapped jQuery.cssProps or vendor prefixed property\n function finalPropName(name) {\n var _final = jQuery.cssProps[name] || vendorProps[name];\n if (_final) {\n return _final;\n }\n if (name in emptyStyle) {\n return name;\n }\n return vendorProps[name] = vendorPropName(name) || name;\n }\n var\n // Swappable if display is none or starts with table\n // except "table", "table-cell", or "table-caption"\n // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n rdisplayswap = /^(none|table(?!-c[ea]).+)/,\n cssShow = {\n position: "absolute",\n visibility: "hidden",\n display: "block"\n },\n cssNormalTransform = {\n letterSpacing: "0",\n fontWeight: "400"\n };\n function setPositiveNumber(_elem, value, subtract) {\n // Any relative (+/-) values have already been\n // normalized at this point\n var matches = rcssNum.exec(value);\n return matches ?\n // Guard against undefined "subtract", e.g., when used as in cssHooks\n Math.max(0, matches[2] - (subtract || 0)) + (matches[3] || "px") : value;\n }\n function boxModelAdjustment(elem, dimension, box, isBorderBox, styles, computedVal) {\n var i = dimension === "width" ? 1 : 0,\n extra = 0,\n delta = 0,\n marginDelta = 0;\n\n // Adjustment may not be necessary\n if (box === (isBorderBox ? "border" : "content")) {\n return 0;\n }\n for (; i < 4; i += 2) {\n // Both box models exclude margin\n // Count margin delta separately to only add it after scroll gutter adjustment.\n // This is needed to make negative margins work with `outerHeight( true )` (gh-3982).\n if (box === "margin") {\n marginDelta += jQuery.css(elem, box + cssExpand[i], true, styles);\n }\n\n // If we get here with a content-box, we\'re seeking "padding" or "border" or "margin"\n if (!isBorderBox) {\n // Add padding\n delta += jQuery.css(elem, "padding" + cssExpand[i], true, styles);\n\n // For "border" or "margin", add border\n if (box !== "padding") {\n delta += jQuery.css(elem, "border" + cssExpand[i] + "Width", true, styles);\n\n // But still keep track of it otherwise\n } else {\n extra += jQuery.css(elem, "border" + cssExpand[i] + "Width", true, styles);\n }\n\n // If we get here with a border-box (content + padding + border), we\'re seeking "content" or\n // "padding" or "margin"\n } else {\n // For "content", subtract padding\n if (box === "content") {\n delta -= jQuery.css(elem, "padding" + cssExpand[i], true, styles);\n }\n\n // For "content" or "padding", subtract border\n if (box !== "margin") {\n delta -= jQuery.css(elem, "border" + cssExpand[i] + "Width", true, styles);\n }\n }\n }\n\n // Account for positive content-box scroll gutter when requested by providing computedVal\n if (!isBorderBox && computedVal >= 0) {\n // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n // Assuming integer scroll gutter, subtract the rest and round down\n delta += Math.max(0, Math.ceil(elem["offset" + dimension[0].toUpperCase() + dimension.slice(1)] - computedVal - delta - extra - 0.5\n\n // If offsetWidth/offsetHeight is unknown, then we can\'t determine content-box scroll gutter\n // Use an explicit zero to avoid NaN (gh-3964)\n )) || 0;\n }\n return delta + marginDelta;\n }\n function getWidthOrHeight(elem, dimension, extra) {\n // Start with computed style\n var styles = getStyles(elem),\n // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n // Fake content-box until we know it\'s needed to know the true value.\n boxSizingNeeded = !support.boxSizingReliable() || extra,\n isBorderBox = boxSizingNeeded && jQuery.css(elem, "boxSizing", false, styles) === "border-box",\n valueIsBorderBox = isBorderBox,\n val = curCSS(elem, dimension, styles),\n offsetProp = "offset" + dimension[0].toUpperCase() + dimension.slice(1);\n\n // Support: Firefox <=54\n // Return a confounding non-pixel value or feign ignorance, as appropriate.\n if (rnumnonpx.test(val)) {\n if (!extra) {\n return val;\n }\n val = "auto";\n }\n\n // Support: IE 9 - 11 only\n // Use offsetWidth/offsetHeight for when box sizing is unreliable.\n // In those cases, the computed value can be trusted to be border-box.\n if ((!support.boxSizingReliable() && isBorderBox ||\n // Support: IE 10 - 11+, Edge 15 - 18+\n // IE/Edge misreport `getComputedStyle` of table rows with width/height\n // set in CSS while `offset*` properties report correct values.\n // Interestingly, in some cases IE 9 doesn\'t suffer from this issue.\n !support.reliableTrDimensions() && nodeName(elem, "tr") ||\n // Fall back to offsetWidth/offsetHeight when value is "auto"\n // This happens for inline elements with no explicit setting (gh-3571)\n val === "auto" ||\n // Support: Android <=4.1 - 4.3 only\n // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n !parseFloat(val) && jQuery.css(elem, "display", false, styles) === "inline") &&\n // Make sure the element is visible & connected\n elem.getClientRects().length) {\n isBorderBox = jQuery.css(elem, "boxSizing", false, styles) === "border-box";\n\n // Where available, offsetWidth/offsetHeight approximate border box dimensions.\n // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n // retrieved value as a content box dimension.\n valueIsBorderBox = offsetProp in elem;\n if (valueIsBorderBox) {\n val = elem[offsetProp];\n }\n }\n\n // Normalize "" and auto\n val = parseFloat(val) || 0;\n\n // Adjust for the element\'s box model\n return val + boxModelAdjustment(elem, dimension, extra || (isBorderBox ? "border" : "content"), valueIsBorderBox, styles,\n // Provide the current computed size to request scroll gutter calculation (gh-3589)\n val) + "px";\n }\n jQuery.extend({\n // Add in style property hooks for overriding the default\n // behavior of getting and setting a style property\n cssHooks: {\n opacity: {\n get: function get(elem, computed) {\n if (computed) {\n // We should always get a number back from opacity\n var ret = curCSS(elem, "opacity");\n return ret === "" ? "1" : ret;\n }\n }\n }\n },\n // Don\'t automatically add "px" to these possibly-unitless properties\n cssNumber: {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageSlice: true,\n columnCount: true,\n flexGrow: true,\n flexShrink: true,\n fontWeight: true,\n gridArea: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnStart: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowStart: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n scale: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeMiterlimit: true,\n strokeOpacity: true\n },\n // Add in properties whose names you wish to fix before\n // setting or getting the value\n cssProps: {},\n // Get and set the style property on a DOM Node\n style: function style(elem, name, value, extra) {\n // Don\'t set styles on text and comment nodes\n if (!elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style) {\n return;\n }\n\n // Make sure that we\'re working with the right name\n var ret,\n type,\n hooks,\n origName = camelCase(name),\n isCustomProp = rcustomProp.test(name),\n style = elem.style;\n\n // Make sure that we\'re working with the right name. We don\'t\n // want to query the value if it is a CSS custom property\n // since they are user-defined.\n if (!isCustomProp) {\n name = finalPropName(origName);\n }\n\n // Gets hook for the prefixed version, then unprefixed version\n hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName];\n\n // Check if we\'re setting a value\n if (value !== undefined) {\n type = _typeof(value);\n\n // Convert "+=" or "-=" to relative numbers (trac-7345)\n if (type === "string" && (ret = rcssNum.exec(value)) && ret[1]) {\n value = adjustCSS(elem, name, ret);\n\n // Fixes bug trac-9237\n type = "number";\n }\n\n // Make sure that null and NaN values aren\'t set (trac-7116)\n if (value == null || value !== value) {\n return;\n }\n\n // If a number was passed in, add the unit (except for certain CSS properties)\n // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n // "px" to a few hardcoded values.\n if (type === "number" && !isCustomProp) {\n value += ret && ret[3] || (jQuery.cssNumber[origName] ? "" : "px");\n }\n\n // background-* props affect original clone\'s values\n if (!support.clearCloneStyle && value === "" && name.indexOf("background") === 0) {\n style[name] = "inherit";\n }\n\n // If a hook was provided, use that value, otherwise just set the specified value\n if (!hooks || !("set" in hooks) || (value = hooks.set(elem, value, extra)) !== undefined) {\n if (isCustomProp) {\n style.setProperty(name, value);\n } else {\n style[name] = value;\n }\n }\n } else {\n // If a hook was provided get the non-computed value from there\n if (hooks && "get" in hooks && (ret = hooks.get(elem, false, extra)) !== undefined) {\n return ret;\n }\n\n // Otherwise just get the value from the style object\n return style[name];\n }\n },\n css: function css(elem, name, extra, styles) {\n var val,\n num,\n hooks,\n origName = camelCase(name),\n isCustomProp = rcustomProp.test(name);\n\n // Make sure that we\'re working with the right name. We don\'t\n // want to modify the value if it is a CSS custom property\n // since they are user-defined.\n if (!isCustomProp) {\n name = finalPropName(origName);\n }\n\n // Try prefixed name followed by the unprefixed name\n hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName];\n\n // If a hook was provided get the computed value from there\n if (hooks && "get" in hooks) {\n val = hooks.get(elem, true, extra);\n }\n\n // Otherwise, if a way to get the computed value exists, use that\n if (val === undefined) {\n val = curCSS(elem, name, styles);\n }\n\n // Convert "normal" to computed value\n if (val === "normal" && name in cssNormalTransform) {\n val = cssNormalTransform[name];\n }\n\n // Make numeric if forced or a qualifier was provided and val looks numeric\n if (extra === "" || extra) {\n num = parseFloat(val);\n return extra === true || isFinite(num) ? num || 0 : val;\n }\n return val;\n }\n });\n jQuery.each(["height", "width"], function (_i, dimension) {\n jQuery.cssHooks[dimension] = {\n get: function get(elem, computed, extra) {\n if (computed) {\n // Certain elements can have dimension info if we invisibly show them\n // but it must have a current display style that would benefit\n return rdisplayswap.test(jQuery.css(elem, "display")) && (\n // Support: Safari 8+\n // Table columns in Safari have non-zero offsetWidth & zero\n // getBoundingClientRect().width unless display is changed.\n // Support: IE <=11 only\n // Running getBoundingClientRect on a disconnected node\n // in IE throws an error.\n !elem.getClientRects().length || !elem.getBoundingClientRect().width) ? swap(elem, cssShow, function () {\n return getWidthOrHeight(elem, dimension, extra);\n }) : getWidthOrHeight(elem, dimension, extra);\n }\n },\n set: function set(elem, value, extra) {\n var matches,\n styles = getStyles(elem),\n // Only read styles.position if the test has a chance to fail\n // to avoid forcing a reflow.\n scrollboxSizeBuggy = !support.scrollboxSize() && styles.position === "absolute",\n // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n boxSizingNeeded = scrollboxSizeBuggy || extra,\n isBorderBox = boxSizingNeeded && jQuery.css(elem, "boxSizing", false, styles) === "border-box",\n subtract = extra ? boxModelAdjustment(elem, dimension, extra, isBorderBox, styles) : 0;\n\n // Account for unreliable border-box dimensions by comparing offset* to computed and\n // faking a content-box to get border and padding (gh-3699)\n if (isBorderBox && scrollboxSizeBuggy) {\n subtract -= Math.ceil(elem["offset" + dimension[0].toUpperCase() + dimension.slice(1)] - parseFloat(styles[dimension]) - boxModelAdjustment(elem, dimension, "border", false, styles) - 0.5);\n }\n\n // Convert to pixels if value adjustment is needed\n if (subtract && (matches = rcssNum.exec(value)) && (matches[3] || "px") !== "px") {\n elem.style[dimension] = value;\n value = jQuery.css(elem, dimension);\n }\n return setPositiveNumber(elem, value, subtract);\n }\n };\n });\n jQuery.cssHooks.marginLeft = addGetHookIf(support.reliableMarginLeft, function (elem, computed) {\n if (computed) {\n return (parseFloat(curCSS(elem, "marginLeft")) || elem.getBoundingClientRect().left - swap(elem, {\n marginLeft: 0\n }, function () {\n return elem.getBoundingClientRect().left;\n })) + "px";\n }\n });\n\n // These hooks are used by animate to expand properties\n jQuery.each({\n margin: "",\n padding: "",\n border: "Width"\n }, function (prefix, suffix) {\n jQuery.cssHooks[prefix + suffix] = {\n expand: function expand(value) {\n var i = 0,\n expanded = {},\n // Assumes a single number if not a string\n parts = typeof value === "string" ? value.split(" ") : [value];\n for (; i < 4; i++) {\n expanded[prefix + cssExpand[i] + suffix] = parts[i] || parts[i - 2] || parts[0];\n }\n return expanded;\n }\n };\n if (prefix !== "margin") {\n jQuery.cssHooks[prefix + suffix].set = setPositiveNumber;\n }\n });\n jQuery.fn.extend({\n css: function css(name, value) {\n return access(this, function (elem, name, value) {\n var styles,\n len,\n map = {},\n i = 0;\n if (Array.isArray(name)) {\n styles = getStyles(elem);\n len = name.length;\n for (; i < len; i++) {\n map[name[i]] = jQuery.css(elem, name[i], false, styles);\n }\n return map;\n }\n return value !== undefined ? jQuery.style(elem, name, value) : jQuery.css(elem, name);\n }, name, value, arguments.length > 1);\n }\n });\n function Tween(elem, options, prop, end, easing) {\n return new Tween.prototype.init(elem, options, prop, end, easing);\n }\n jQuery.Tween = Tween;\n Tween.prototype = {\n constructor: Tween,\n init: function init(elem, options, prop, end, easing, unit) {\n this.elem = elem;\n this.prop = prop;\n this.easing = easing || jQuery.easing._default;\n this.options = options;\n this.start = this.now = this.cur();\n this.end = end;\n this.unit = unit || (jQuery.cssNumber[prop] ? "" : "px");\n },\n cur: function cur() {\n var hooks = Tween.propHooks[this.prop];\n return hooks && hooks.get ? hooks.get(this) : Tween.propHooks._default.get(this);\n },\n run: function run(percent) {\n var eased,\n hooks = Tween.propHooks[this.prop];\n if (this.options.duration) {\n this.pos = eased = jQuery.easing[this.easing](percent, this.options.duration * percent, 0, 1, this.options.duration);\n } else {\n this.pos = eased = percent;\n }\n this.now = (this.end - this.start) * eased + this.start;\n if (this.options.step) {\n this.options.step.call(this.elem, this.now, this);\n }\n if (hooks && hooks.set) {\n hooks.set(this);\n } else {\n Tween.propHooks._default.set(this);\n }\n return this;\n }\n };\n Tween.prototype.init.prototype = Tween.prototype;\n Tween.propHooks = {\n _default: {\n get: function get(tween) {\n var result;\n\n // Use a property on the element directly when it is not a DOM element,\n // or when there is no matching style property that exists.\n if (tween.elem.nodeType !== 1 || tween.elem[tween.prop] != null && tween.elem.style[tween.prop] == null) {\n return tween.elem[tween.prop];\n }\n\n // Passing an empty string as a 3rd parameter to .css will automatically\n // attempt a parseFloat and fallback to a string if the parse fails.\n // Simple values such as "10px" are parsed to Float;\n // complex values such as "rotate(1rad)" are returned as-is.\n result = jQuery.css(tween.elem, tween.prop, "");\n\n // Empty strings, null, undefined and "auto" are converted to 0.\n return !result || result === "auto" ? 0 : result;\n },\n set: function set(tween) {\n // Use step hook for back compat.\n // Use cssHook if its there.\n // Use .style if available and use plain properties where available.\n if (jQuery.fx.step[tween.prop]) {\n jQuery.fx.step[tween.prop](tween);\n } else if (tween.elem.nodeType === 1 && (jQuery.cssHooks[tween.prop] || tween.elem.style[finalPropName(tween.prop)] != null)) {\n jQuery.style(tween.elem, tween.prop, tween.now + tween.unit);\n } else {\n tween.elem[tween.prop] = tween.now;\n }\n }\n }\n };\n\n // Support: IE <=9 only\n // Panic based approach to setting things on disconnected nodes\n Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n set: function set(tween) {\n if (tween.elem.nodeType && tween.elem.parentNode) {\n tween.elem[tween.prop] = tween.now;\n }\n }\n };\n jQuery.easing = {\n linear: function linear(p) {\n return p;\n },\n swing: function swing(p) {\n return 0.5 - Math.cos(p * Math.PI) / 2;\n },\n _default: "swing"\n };\n jQuery.fx = Tween.prototype.init;\n\n // Back compat <1.8 extension point\n jQuery.fx.step = {};\n var fxNow,\n inProgress,\n rfxtypes = /^(?:toggle|show|hide)$/,\n rrun = /queueHooks$/;\n function schedule() {\n if (inProgress) {\n if (document.hidden === false && window.requestAnimationFrame) {\n window.requestAnimationFrame(schedule);\n } else {\n window.setTimeout(schedule, jQuery.fx.interval);\n }\n jQuery.fx.tick();\n }\n }\n\n // Animations created synchronously will run synchronously\n function createFxNow() {\n window.setTimeout(function () {\n fxNow = undefined;\n });\n return fxNow = Date.now();\n }\n\n // Generate parameters to create a standard animation\n function genFx(type, includeWidth) {\n var which,\n i = 0,\n attrs = {\n height: type\n };\n\n // If we include width, step value is 1 to do all cssExpand values,\n // otherwise step value is 2 to skip over Left and Right\n includeWidth = includeWidth ? 1 : 0;\n for (; i < 4; i += 2 - includeWidth) {\n which = cssExpand[i];\n attrs["margin" + which] = attrs["padding" + which] = type;\n }\n if (includeWidth) {\n attrs.opacity = attrs.width = type;\n }\n return attrs;\n }\n function createTween(value, prop, animation) {\n var tween,\n collection = (Animation.tweeners[prop] || []).concat(Animation.tweeners["*"]),\n index = 0,\n length = collection.length;\n for (; index < length; index++) {\n if (tween = collection[index].call(animation, prop, value)) {\n // We\'re done with this property\n return tween;\n }\n }\n }\n function defaultPrefilter(elem, props, opts) {\n var prop,\n value,\n toggle,\n hooks,\n oldfire,\n propTween,\n restoreDisplay,\n display,\n isBox = "width" in props || "height" in props,\n anim = this,\n orig = {},\n style = elem.style,\n hidden = elem.nodeType && isHiddenWithinTree(elem),\n dataShow = dataPriv.get(elem, "fxshow");\n\n // Queue-skipping animations hijack the fx hooks\n if (!opts.queue) {\n hooks = jQuery._queueHooks(elem, "fx");\n if (hooks.unqueued == null) {\n hooks.unqueued = 0;\n oldfire = hooks.empty.fire;\n hooks.empty.fire = function () {\n if (!hooks.unqueued) {\n oldfire();\n }\n };\n }\n hooks.unqueued++;\n anim.always(function () {\n // Ensure the complete handler is called before this completes\n anim.always(function () {\n hooks.unqueued--;\n if (!jQuery.queue(elem, "fx").length) {\n hooks.empty.fire();\n }\n });\n });\n }\n\n // Detect show/hide animations\n for (prop in props) {\n value = props[prop];\n if (rfxtypes.test(value)) {\n delete props[prop];\n toggle = toggle || value === "toggle";\n if (value === (hidden ? "hide" : "show")) {\n // Pretend to be hidden if this is a "show" and\n // there is still data from a stopped show/hide\n if (value === "show" && dataShow && dataShow[prop] !== undefined) {\n hidden = true;\n\n // Ignore all other no-op show/hide data\n } else {\n continue;\n }\n }\n orig[prop] = dataShow && dataShow[prop] || jQuery.style(elem, prop);\n }\n }\n\n // Bail out if this is a no-op like .hide().hide()\n propTween = !jQuery.isEmptyObject(props);\n if (!propTween && jQuery.isEmptyObject(orig)) {\n return;\n }\n\n // Restrict "overflow" and "display" styles during box animations\n if (isBox && elem.nodeType === 1) {\n // Support: IE <=9 - 11, Edge 12 - 15\n // Record all 3 overflow attributes because IE does not infer the shorthand\n // from identically-valued overflowX and overflowY and Edge just mirrors\n // the overflowX value there.\n opts.overflow = [style.overflow, style.overflowX, style.overflowY];\n\n // Identify a display type, preferring old show/hide data over the CSS cascade\n restoreDisplay = dataShow && dataShow.display;\n if (restoreDisplay == null) {\n restoreDisplay = dataPriv.get(elem, "display");\n }\n display = jQuery.css(elem, "display");\n if (display === "none") {\n if (restoreDisplay) {\n display = restoreDisplay;\n } else {\n // Get nonempty value(s) by temporarily forcing visibility\n showHide([elem], true);\n restoreDisplay = elem.style.display || restoreDisplay;\n display = jQuery.css(elem, "display");\n showHide([elem]);\n }\n }\n\n // Animate inline elements as inline-block\n if (display === "inline" || display === "inline-block" && restoreDisplay != null) {\n if (jQuery.css(elem, "float") === "none") {\n // Restore the original display value at the end of pure show/hide animations\n if (!propTween) {\n anim.done(function () {\n style.display = restoreDisplay;\n });\n if (restoreDisplay == null) {\n display = style.display;\n restoreDisplay = display === "none" ? "" : display;\n }\n }\n style.display = "inline-block";\n }\n }\n }\n if (opts.overflow) {\n style.overflow = "hidden";\n anim.always(function () {\n style.overflow = opts.overflow[0];\n style.overflowX = opts.overflow[1];\n style.overflowY = opts.overflow[2];\n });\n }\n\n // Implement show/hide animations\n propTween = false;\n for (prop in orig) {\n // General show/hide setup for this element animation\n if (!propTween) {\n if (dataShow) {\n if ("hidden" in dataShow) {\n hidden = dataShow.hidden;\n }\n } else {\n dataShow = dataPriv.access(elem, "fxshow", {\n display: restoreDisplay\n });\n }\n\n // Store hidden/visible for toggle so `.stop().toggle()` "reverses"\n if (toggle) {\n dataShow.hidden = !hidden;\n }\n\n // Show elements before animating them\n if (hidden) {\n showHide([elem], true);\n }\n\n /* eslint-disable no-loop-func */\n\n anim.done(function () {\n /* eslint-enable no-loop-func */\n\n // The final step of a "hide" animation is actually hiding the element\n if (!hidden) {\n showHide([elem]);\n }\n dataPriv.remove(elem, "fxshow");\n for (prop in orig) {\n jQuery.style(elem, prop, orig[prop]);\n }\n });\n }\n\n // Per-property setup\n propTween = createTween(hidden ? dataShow[prop] : 0, prop, anim);\n if (!(prop in dataShow)) {\n dataShow[prop] = propTween.start;\n if (hidden) {\n propTween.end = propTween.start;\n propTween.start = 0;\n }\n }\n }\n }\n function propFilter(props, specialEasing) {\n var index, name, easing, value, hooks;\n\n // camelCase, specialEasing and expand cssHook pass\n for (index in props) {\n name = camelCase(index);\n easing = specialEasing[name];\n value = props[index];\n if (Array.isArray(value)) {\n easing = value[1];\n value = props[index] = value[0];\n }\n if (index !== name) {\n props[name] = value;\n delete props[index];\n }\n hooks = jQuery.cssHooks[name];\n if (hooks && "expand" in hooks) {\n value = hooks.expand(value);\n delete props[name];\n\n // Not quite $.extend, this won\'t overwrite existing keys.\n // Reusing \'index\' because we have the correct "name"\n for (index in value) {\n if (!(index in props)) {\n props[index] = value[index];\n specialEasing[index] = easing;\n }\n }\n } else {\n specialEasing[name] = easing;\n }\n }\n }\n function Animation(elem, properties, options) {\n var result,\n stopped,\n index = 0,\n length = Animation.prefilters.length,\n deferred = jQuery.Deferred().always(function () {\n // Don\'t match elem in the :animated selector\n delete tick.elem;\n }),\n tick = function tick() {\n if (stopped) {\n return false;\n }\n var currentTime = fxNow || createFxNow(),\n remaining = Math.max(0, animation.startTime + animation.duration - currentTime),\n // Support: Android 2.3 only\n // Archaic crash bug won\'t allow us to use `1 - ( 0.5 || 0 )` (trac-12497)\n temp = remaining / animation.duration || 0,\n percent = 1 - temp,\n index = 0,\n length = animation.tweens.length;\n for (; index < length; index++) {\n animation.tweens[index].run(percent);\n }\n deferred.notifyWith(elem, [animation, percent, remaining]);\n\n // If there\'s more to do, yield\n if (percent < 1 && length) {\n return remaining;\n }\n\n // If this was an empty animation, synthesize a final progress notification\n if (!length) {\n deferred.notifyWith(elem, [animation, 1, 0]);\n }\n\n // Resolve the animation and report its conclusion\n deferred.resolveWith(elem, [animation]);\n return false;\n },\n animation = deferred.promise({\n elem: elem,\n props: jQuery.extend({}, properties),\n opts: jQuery.extend(true, {\n specialEasing: {},\n easing: jQuery.easing._default\n }, options),\n originalProperties: properties,\n originalOptions: options,\n startTime: fxNow || createFxNow(),\n duration: options.duration,\n tweens: [],\n createTween: function createTween(prop, end) {\n var tween = jQuery.Tween(elem, animation.opts, prop, end, animation.opts.specialEasing[prop] || animation.opts.easing);\n animation.tweens.push(tween);\n return tween;\n },\n stop: function stop(gotoEnd) {\n var index = 0,\n // If we are going to the end, we want to run all the tweens\n // otherwise we skip this part\n length = gotoEnd ? animation.tweens.length : 0;\n if (stopped) {\n return this;\n }\n stopped = true;\n for (; index < length; index++) {\n animation.tweens[index].run(1);\n }\n\n // Resolve when we played the last frame; otherwise, reject\n if (gotoEnd) {\n deferred.notifyWith(elem, [animation, 1, 0]);\n deferred.resolveWith(elem, [animation, gotoEnd]);\n } else {\n deferred.rejectWith(elem, [animation, gotoEnd]);\n }\n return this;\n }\n }),\n props = animation.props;\n propFilter(props, animation.opts.specialEasing);\n for (; index < length; index++) {\n result = Animation.prefilters[index].call(animation, elem, props, animation.opts);\n if (result) {\n if (isFunction(result.stop)) {\n jQuery._queueHooks(animation.elem, animation.opts.queue).stop = result.stop.bind(result);\n }\n return result;\n }\n }\n jQuery.map(props, createTween, animation);\n if (isFunction(animation.opts.start)) {\n animation.opts.start.call(elem, animation);\n }\n\n // Attach callbacks from options\n animation.progress(animation.opts.progress).done(animation.opts.done, animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always);\n jQuery.fx.timer(jQuery.extend(tick, {\n elem: elem,\n anim: animation,\n queue: animation.opts.queue\n }));\n return animation;\n }\n jQuery.Animation = jQuery.extend(Animation, {\n tweeners: {\n "*": [function (prop, value) {\n var tween = this.createTween(prop, value);\n adjustCSS(tween.elem, prop, rcssNum.exec(value), tween);\n return tween;\n }]\n },\n tweener: function tweener(props, callback) {\n if (isFunction(props)) {\n callback = props;\n props = ["*"];\n } else {\n props = props.match(rnothtmlwhite);\n }\n var prop,\n index = 0,\n length = props.length;\n for (; index < length; index++) {\n prop = props[index];\n Animation.tweeners[prop] = Animation.tweeners[prop] || [];\n Animation.tweeners[prop].unshift(callback);\n }\n },\n prefilters: [defaultPrefilter],\n prefilter: function prefilter(callback, prepend) {\n if (prepend) {\n Animation.prefilters.unshift(callback);\n } else {\n Animation.prefilters.push(callback);\n }\n }\n });\n jQuery.speed = function (speed, easing, fn) {\n var opt = speed && _typeof(speed) === "object" ? jQuery.extend({}, speed) : {\n complete: fn || !fn && easing || isFunction(speed) && speed,\n duration: speed,\n easing: fn && easing || easing && !isFunction(easing) && easing\n };\n\n // Go to the end state if fx are off\n if (jQuery.fx.off) {\n opt.duration = 0;\n } else {\n if (typeof opt.duration !== "number") {\n if (opt.duration in jQuery.fx.speeds) {\n opt.duration = jQuery.fx.speeds[opt.duration];\n } else {\n opt.duration = jQuery.fx.speeds._default;\n }\n }\n }\n\n // Normalize opt.queue - true/undefined/null -> "fx"\n if (opt.queue == null || opt.queue === true) {\n opt.queue = "fx";\n }\n\n // Queueing\n opt.old = opt.complete;\n opt.complete = function () {\n if (isFunction(opt.old)) {\n opt.old.call(this);\n }\n if (opt.queue) {\n jQuery.dequeue(this, opt.queue);\n }\n };\n return opt;\n };\n jQuery.fn.extend({\n fadeTo: function fadeTo(speed, to, easing, callback) {\n // Show any hidden elements after setting opacity to 0\n return this.filter(isHiddenWithinTree).css("opacity", 0).show()\n\n // Animate to the value specified\n .end().animate({\n opacity: to\n }, speed, easing, callback);\n },\n animate: function animate(prop, speed, easing, callback) {\n var empty = jQuery.isEmptyObject(prop),\n optall = jQuery.speed(speed, easing, callback),\n doAnimation = function doAnimation() {\n // Operate on a copy of prop so per-property easing won\'t be lost\n var anim = Animation(this, jQuery.extend({}, prop), optall);\n\n // Empty animations, or finishing resolves immediately\n if (empty || dataPriv.get(this, "finish")) {\n anim.stop(true);\n }\n };\n doAnimation.finish = doAnimation;\n return empty || optall.queue === false ? this.each(doAnimation) : this.queue(optall.queue, doAnimation);\n },\n stop: function stop(type, clearQueue, gotoEnd) {\n var stopQueue = function stopQueue(hooks) {\n var stop = hooks.stop;\n delete hooks.stop;\n stop(gotoEnd);\n };\n if (typeof type !== "string") {\n gotoEnd = clearQueue;\n clearQueue = type;\n type = undefined;\n }\n if (clearQueue) {\n this.queue(type || "fx", []);\n }\n return this.each(function () {\n var dequeue = true,\n index = type != null && type + "queueHooks",\n timers = jQuery.timers,\n data = dataPriv.get(this);\n if (index) {\n if (data[index] && data[index].stop) {\n stopQueue(data[index]);\n }\n } else {\n for (index in data) {\n if (data[index] && data[index].stop && rrun.test(index)) {\n stopQueue(data[index]);\n }\n }\n }\n for (index = timers.length; index--;) {\n if (timers[index].elem === this && (type == null || timers[index].queue === type)) {\n timers[index].anim.stop(gotoEnd);\n dequeue = false;\n timers.splice(index, 1);\n }\n }\n\n // Start the next in the queue if the last step wasn\'t forced.\n // Timers currently will call their complete callbacks, which\n // will dequeue but only if they were gotoEnd.\n if (dequeue || !gotoEnd) {\n jQuery.dequeue(this, type);\n }\n });\n },\n finish: function finish(type) {\n if (type !== false) {\n type = type || "fx";\n }\n return this.each(function () {\n var index,\n data = dataPriv.get(this),\n queue = data[type + "queue"],\n hooks = data[type + "queueHooks"],\n timers = jQuery.timers,\n length = queue ? queue.length : 0;\n\n // Enable finishing flag on private data\n data.finish = true;\n\n // Empty the queue first\n jQuery.queue(this, type, []);\n if (hooks && hooks.stop) {\n hooks.stop.call(this, true);\n }\n\n // Look for any active animations, and finish them\n for (index = timers.length; index--;) {\n if (timers[index].elem === this && timers[index].queue === type) {\n timers[index].anim.stop(true);\n timers.splice(index, 1);\n }\n }\n\n // Look for any animations in the old queue and finish them\n for (index = 0; index < length; index++) {\n if (queue[index] && queue[index].finish) {\n queue[index].finish.call(this);\n }\n }\n\n // Turn off finishing flag\n delete data.finish;\n });\n }\n });\n jQuery.each(["toggle", "show", "hide"], function (_i, name) {\n var cssFn = jQuery.fn[name];\n jQuery.fn[name] = function (speed, easing, callback) {\n return speed == null || typeof speed === "boolean" ? cssFn.apply(this, arguments) : this.animate(genFx(name, true), speed, easing, callback);\n };\n });\n\n // Generate shortcuts for custom animations\n jQuery.each({\n slideDown: genFx("show"),\n slideUp: genFx("hide"),\n slideToggle: genFx("toggle"),\n fadeIn: {\n opacity: "show"\n },\n fadeOut: {\n opacity: "hide"\n },\n fadeToggle: {\n opacity: "toggle"\n }\n }, function (name, props) {\n jQuery.fn[name] = function (speed, easing, callback) {\n return this.animate(props, speed, easing, callback);\n };\n });\n jQuery.timers = [];\n jQuery.fx.tick = function () {\n var timer,\n i = 0,\n timers = jQuery.timers;\n fxNow = Date.now();\n for (; i < timers.length; i++) {\n timer = timers[i];\n\n // Run the timer and safely remove it when done (allowing for external removal)\n if (!timer() && timers[i] === timer) {\n timers.splice(i--, 1);\n }\n }\n if (!timers.length) {\n jQuery.fx.stop();\n }\n fxNow = undefined;\n };\n jQuery.fx.timer = function (timer) {\n jQuery.timers.push(timer);\n jQuery.fx.start();\n };\n jQuery.fx.interval = 13;\n jQuery.fx.start = function () {\n if (inProgress) {\n return;\n }\n inProgress = true;\n schedule();\n };\n jQuery.fx.stop = function () {\n inProgress = null;\n };\n jQuery.fx.speeds = {\n slow: 600,\n fast: 200,\n // Default speed\n _default: 400\n };\n\n // Based off of the plugin by Clint Helfers, with permission.\n jQuery.fn.delay = function (time, type) {\n time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;\n type = type || "fx";\n return this.queue(type, function (next, hooks) {\n var timeout = window.setTimeout(next, time);\n hooks.stop = function () {\n window.clearTimeout(timeout);\n };\n });\n };\n (function () {\n var input = document.createElement("input"),\n select = document.createElement("select"),\n opt = select.appendChild(document.createElement("option"));\n input.type = "checkbox";\n\n // Support: Android <=4.3 only\n // Default value for a checkbox should be "on"\n support.checkOn = input.value !== "";\n\n // Support: IE <=11 only\n // Must access selectedIndex to make default options select\n support.optSelected = opt.selected;\n\n // Support: IE <=11 only\n // An input loses its value after becoming a radio\n input = document.createElement("input");\n input.value = "t";\n input.type = "radio";\n support.radioValue = input.value === "t";\n })();\n var boolHook,\n attrHandle = jQuery.expr.attrHandle;\n jQuery.fn.extend({\n attr: function attr(name, value) {\n return access(this, jQuery.attr, name, value, arguments.length > 1);\n },\n removeAttr: function removeAttr(name) {\n return this.each(function () {\n jQuery.removeAttr(this, name);\n });\n }\n });\n jQuery.extend({\n attr: function attr(elem, name, value) {\n var ret,\n hooks,\n nType = elem.nodeType;\n\n // Don\'t get/set attributes on text, comment and attribute nodes\n if (nType === 3 || nType === 8 || nType === 2) {\n return;\n }\n\n // Fallback to prop when attributes are not supported\n if (typeof elem.getAttribute === "undefined") {\n return jQuery.prop(elem, name, value);\n }\n\n // Attribute hooks are determined by the lowercase version\n // Grab necessary hook if one is defined\n if (nType !== 1 || !jQuery.isXMLDoc(elem)) {\n hooks = jQuery.attrHooks[name.toLowerCase()] || (jQuery.expr.match.bool.test(name) ? boolHook : undefined);\n }\n if (value !== undefined) {\n if (value === null) {\n jQuery.removeAttr(elem, name);\n return;\n }\n if (hooks && "set" in hooks && (ret = hooks.set(elem, value, name)) !== undefined) {\n return ret;\n }\n elem.setAttribute(name, value + "");\n return value;\n }\n if (hooks && "get" in hooks && (ret = hooks.get(elem, name)) !== null) {\n return ret;\n }\n ret = jQuery.find.attr(elem, name);\n\n // Non-existent attributes return null, we normalize to undefined\n return ret == null ? undefined : ret;\n },\n attrHooks: {\n type: {\n set: function set(elem, value) {\n if (!support.radioValue && value === "radio" && nodeName(elem, "input")) {\n var val = elem.value;\n elem.setAttribute("type", value);\n if (val) {\n elem.value = val;\n }\n return value;\n }\n }\n }\n },\n removeAttr: function removeAttr(elem, value) {\n var name,\n i = 0,\n // Attribute names can contain non-HTML whitespace characters\n // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n attrNames = value && value.match(rnothtmlwhite);\n if (attrNames && elem.nodeType === 1) {\n while (name = attrNames[i++]) {\n elem.removeAttribute(name);\n }\n }\n }\n });\n\n // Hooks for boolean attributes\n boolHook = {\n set: function set(elem, value, name) {\n if (value === false) {\n // Remove boolean attributes when set to false\n jQuery.removeAttr(elem, name);\n } else {\n elem.setAttribute(name, name);\n }\n return name;\n }\n };\n jQuery.each(jQuery.expr.match.bool.source.match(/\\w+/g), function (_i, name) {\n var getter = attrHandle[name] || jQuery.find.attr;\n attrHandle[name] = function (elem, name, isXML) {\n var ret,\n handle,\n lowercaseName = name.toLowerCase();\n if (!isXML) {\n // Avoid an infinite loop by temporarily removing this function from the getter\n handle = attrHandle[lowercaseName];\n attrHandle[lowercaseName] = ret;\n ret = getter(elem, name, isXML) != null ? lowercaseName : null;\n attrHandle[lowercaseName] = handle;\n }\n return ret;\n };\n });\n var rfocusable = /^(?:input|select|textarea|button)$/i,\n rclickable = /^(?:a|area)$/i;\n jQuery.fn.extend({\n prop: function prop(name, value) {\n return access(this, jQuery.prop, name, value, arguments.length > 1);\n },\n removeProp: function removeProp(name) {\n return this.each(function () {\n delete this[jQuery.propFix[name] || name];\n });\n }\n });\n jQuery.extend({\n prop: function prop(elem, name, value) {\n var ret,\n hooks,\n nType = elem.nodeType;\n\n // Don\'t get/set properties on text, comment and attribute nodes\n if (nType === 3 || nType === 8 || nType === 2) {\n return;\n }\n if (nType !== 1 || !jQuery.isXMLDoc(elem)) {\n // Fix name and attach hooks\n name = jQuery.propFix[name] || name;\n hooks = jQuery.propHooks[name];\n }\n if (value !== undefined) {\n if (hooks && "set" in hooks && (ret = hooks.set(elem, value, name)) !== undefined) {\n return ret;\n }\n return elem[name] = value;\n }\n if (hooks && "get" in hooks && (ret = hooks.get(elem, name)) !== null) {\n return ret;\n }\n return elem[name];\n },\n propHooks: {\n tabIndex: {\n get: function get(elem) {\n // Support: IE <=9 - 11 only\n // elem.tabIndex doesn\'t always return the\n // correct value when it hasn\'t been explicitly set\n // Use proper attribute retrieval (trac-12072)\n var tabindex = jQuery.find.attr(elem, "tabindex");\n if (tabindex) {\n return parseInt(tabindex, 10);\n }\n if (rfocusable.test(elem.nodeName) || rclickable.test(elem.nodeName) && elem.href) {\n return 0;\n }\n return -1;\n }\n }\n },\n propFix: {\n "for": "htmlFor",\n "class": "className"\n }\n });\n\n // Support: IE <=11 only\n // Accessing the selectedIndex property\n // forces the browser to respect setting selected\n // on the option\n // The getter ensures a default option is selected\n // when in an optgroup\n // eslint rule "no-unused-expressions" is disabled for this code\n // since it considers such accessions noop\n if (!support.optSelected) {\n jQuery.propHooks.selected = {\n get: function get(elem) {\n /* eslint no-unused-expressions: "off" */\n\n var parent = elem.parentNode;\n if (parent && parent.parentNode) {\n parent.parentNode.selectedIndex;\n }\n return null;\n },\n set: function set(elem) {\n /* eslint no-unused-expressions: "off" */\n\n var parent = elem.parentNode;\n if (parent) {\n parent.selectedIndex;\n if (parent.parentNode) {\n parent.parentNode.selectedIndex;\n }\n }\n }\n };\n }\n jQuery.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {\n jQuery.propFix[this.toLowerCase()] = this;\n });\n\n // Strip and collapse whitespace according to HTML spec\n // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\n function stripAndCollapse(value) {\n var tokens = value.match(rnothtmlwhite) || [];\n return tokens.join(" ");\n }\n function getClass(elem) {\n return elem.getAttribute && elem.getAttribute("class") || "";\n }\n function classesToArray(value) {\n if (Array.isArray(value)) {\n return value;\n }\n if (typeof value === "string") {\n return value.match(rnothtmlwhite) || [];\n }\n return [];\n }\n jQuery.fn.extend({\n addClass: function addClass(value) {\n var classNames, cur, curValue, className, i, finalValue;\n if (isFunction(value)) {\n return this.each(function (j) {\n jQuery(this).addClass(value.call(this, j, getClass(this)));\n });\n }\n classNames = classesToArray(value);\n if (classNames.length) {\n return this.each(function () {\n curValue = getClass(this);\n cur = this.nodeType === 1 && " " + stripAndCollapse(curValue) + " ";\n if (cur) {\n for (i = 0; i < classNames.length; i++) {\n className = classNames[i];\n if (cur.indexOf(" " + className + " ") < 0) {\n cur += className + " ";\n }\n }\n\n // Only assign if different to avoid unneeded rendering.\n finalValue = stripAndCollapse(cur);\n if (curValue !== finalValue) {\n this.setAttribute("class", finalValue);\n }\n }\n });\n }\n return this;\n },\n removeClass: function removeClass(value) {\n var classNames, cur, curValue, className, i, finalValue;\n if (isFunction(value)) {\n return this.each(function (j) {\n jQuery(this).removeClass(value.call(this, j, getClass(this)));\n });\n }\n if (!arguments.length) {\n return this.attr("class", "");\n }\n classNames = classesToArray(value);\n if (classNames.length) {\n return this.each(function () {\n curValue = getClass(this);\n\n // This expression is here for better compressibility (see addClass)\n cur = this.nodeType === 1 && " " + stripAndCollapse(curValue) + " ";\n if (cur) {\n for (i = 0; i < classNames.length; i++) {\n className = classNames[i];\n\n // Remove *all* instances\n while (cur.indexOf(" " + className + " ") > -1) {\n cur = cur.replace(" " + className + " ", " ");\n }\n }\n\n // Only assign if different to avoid unneeded rendering.\n finalValue = stripAndCollapse(cur);\n if (curValue !== finalValue) {\n this.setAttribute("class", finalValue);\n }\n }\n });\n }\n return this;\n },\n toggleClass: function toggleClass(value, stateVal) {\n var classNames,\n className,\n i,\n self,\n type = _typeof(value),\n isValidValue = type === "string" || Array.isArray(value);\n if (isFunction(value)) {\n return this.each(function (i) {\n jQuery(this).toggleClass(value.call(this, i, getClass(this), stateVal), stateVal);\n });\n }\n if (typeof stateVal === "boolean" && isValidValue) {\n return stateVal ? this.addClass(value) : this.removeClass(value);\n }\n classNames = classesToArray(value);\n return this.each(function () {\n if (isValidValue) {\n // Toggle individual class names\n self = jQuery(this);\n for (i = 0; i < classNames.length; i++) {\n className = classNames[i];\n\n // Check each className given, space separated list\n if (self.hasClass(className)) {\n self.removeClass(className);\n } else {\n self.addClass(className);\n }\n }\n\n // Toggle whole class name\n } else if (value === undefined || type === "boolean") {\n className = getClass(this);\n if (className) {\n // Store className if set\n dataPriv.set(this, "__className__", className);\n }\n\n // If the element has a class name or if we\'re passed `false`,\n // then remove the whole classname (if there was one, the above saved it).\n // Otherwise bring back whatever was previously saved (if anything),\n // falling back to the empty string if nothing was stored.\n if (this.setAttribute) {\n this.setAttribute("class", className || value === false ? "" : dataPriv.get(this, "__className__") || "");\n }\n }\n });\n },\n hasClass: function hasClass(selector) {\n var className,\n elem,\n i = 0;\n className = " " + selector + " ";\n while (elem = this[i++]) {\n if (elem.nodeType === 1 && (" " + stripAndCollapse(getClass(elem)) + " ").indexOf(className) > -1) {\n return true;\n }\n }\n return false;\n }\n });\n var rreturn = /\\r/g;\n jQuery.fn.extend({\n val: function val(value) {\n var hooks,\n ret,\n valueIsFunction,\n elem = this[0];\n if (!arguments.length) {\n if (elem) {\n hooks = jQuery.valHooks[elem.type] || jQuery.valHooks[elem.nodeName.toLowerCase()];\n if (hooks && "get" in hooks && (ret = hooks.get(elem, "value")) !== undefined) {\n return ret;\n }\n ret = elem.value;\n\n // Handle most common string cases\n if (typeof ret === "string") {\n return ret.replace(rreturn, "");\n }\n\n // Handle cases where value is null/undef or number\n return ret == null ? "" : ret;\n }\n return;\n }\n valueIsFunction = isFunction(value);\n return this.each(function (i) {\n var val;\n if (this.nodeType !== 1) {\n return;\n }\n if (valueIsFunction) {\n val = value.call(this, i, jQuery(this).val());\n } else {\n val = value;\n }\n\n // Treat null/undefined as ""; convert numbers to string\n if (val == null) {\n val = "";\n } else if (typeof val === "number") {\n val += "";\n } else if (Array.isArray(val)) {\n val = jQuery.map(val, function (value) {\n return value == null ? "" : value + "";\n });\n }\n hooks = jQuery.valHooks[this.type] || jQuery.valHooks[this.nodeName.toLowerCase()];\n\n // If set returns undefined, fall back to normal setting\n if (!hooks || !("set" in hooks) || hooks.set(this, val, "value") === undefined) {\n this.value = val;\n }\n });\n }\n });\n jQuery.extend({\n valHooks: {\n option: {\n get: function get(elem) {\n var val = jQuery.find.attr(elem, "value");\n return val != null ? val :\n // Support: IE <=10 - 11 only\n // option.text throws exceptions (trac-14686, trac-14858)\n // Strip and collapse whitespace\n // https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n stripAndCollapse(jQuery.text(elem));\n }\n },\n select: {\n get: function get(elem) {\n var value,\n option,\n i,\n options = elem.options,\n index = elem.selectedIndex,\n one = elem.type === "select-one",\n values = one ? null : [],\n max = one ? index + 1 : options.length;\n if (index < 0) {\n i = max;\n } else {\n i = one ? index : 0;\n }\n\n // Loop through all the selected options\n for (; i < max; i++) {\n option = options[i];\n\n // Support: IE <=9 only\n // IE8-9 doesn\'t update selected after form reset (trac-2551)\n if ((option.selected || i === index) &&\n // Don\'t return options that are disabled or in a disabled optgroup\n !option.disabled && (!option.parentNode.disabled || !nodeName(option.parentNode, "optgroup"))) {\n // Get the specific value for the option\n value = jQuery(option).val();\n\n // We don\'t need an array for one selects\n if (one) {\n return value;\n }\n\n // Multi-Selects return an array\n values.push(value);\n }\n }\n return values;\n },\n set: function set(elem, value) {\n var optionSet,\n option,\n options = elem.options,\n values = jQuery.makeArray(value),\n i = options.length;\n while (i--) {\n option = options[i];\n\n /* eslint-disable no-cond-assign */\n\n if (option.selected = jQuery.inArray(jQuery.valHooks.option.get(option), values) > -1) {\n optionSet = true;\n }\n\n /* eslint-enable no-cond-assign */\n }\n\n // Force browsers to behave consistently when non-matching value is set\n if (!optionSet) {\n elem.selectedIndex = -1;\n }\n return values;\n }\n }\n }\n });\n\n // Radios and checkboxes getter/setter\n jQuery.each(["radio", "checkbox"], function () {\n jQuery.valHooks[this] = {\n set: function set(elem, value) {\n if (Array.isArray(value)) {\n return elem.checked = jQuery.inArray(jQuery(elem).val(), value) > -1;\n }\n }\n };\n if (!support.checkOn) {\n jQuery.valHooks[this].get = function (elem) {\n return elem.getAttribute("value") === null ? "on" : elem.value;\n };\n }\n });\n\n // Return jQuery for attributes-only inclusion\n var location = window.location;\n var nonce = {\n guid: Date.now()\n };\n var rquery = /\\?/;\n\n // Cross-browser xml parsing\n jQuery.parseXML = function (data) {\n var xml, parserErrorElem;\n if (!data || typeof data !== "string") {\n return null;\n }\n\n // Support: IE 9 - 11 only\n // IE throws on parseFromString with invalid input.\n try {\n xml = new window.DOMParser().parseFromString(data, "text/xml");\n } catch (e) {}\n parserErrorElem = xml && xml.getElementsByTagName("parsererror")[0];\n if (!xml || parserErrorElem) {\n jQuery.error("Invalid XML: " + (parserErrorElem ? jQuery.map(parserErrorElem.childNodes, function (el) {\n return el.textContent;\n }).join("\\n") : data));\n }\n return xml;\n };\n var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n stopPropagationCallback = function stopPropagationCallback(e) {\n e.stopPropagation();\n };\n jQuery.extend(jQuery.event, {\n trigger: function trigger(event, data, elem, onlyHandlers) {\n var i,\n cur,\n tmp,\n bubbleType,\n ontype,\n handle,\n special,\n lastElement,\n eventPath = [elem || document],\n type = hasOwn.call(event, "type") ? event.type : event,\n namespaces = hasOwn.call(event, "namespace") ? event.namespace.split(".") : [];\n cur = lastElement = tmp = elem = elem || document;\n\n // Don\'t do events on text and comment nodes\n if (elem.nodeType === 3 || elem.nodeType === 8) {\n return;\n }\n\n // focus/blur morphs to focusin/out; ensure we\'re not firing them right now\n if (rfocusMorph.test(type + jQuery.event.triggered)) {\n return;\n }\n if (type.indexOf(".") > -1) {\n // Namespaced trigger; create a regexp to match event type in handle()\n namespaces = type.split(".");\n type = namespaces.shift();\n namespaces.sort();\n }\n ontype = type.indexOf(":") < 0 && "on" + type;\n\n // Caller can pass in a jQuery.Event object, Object, or just an event type string\n event = event[jQuery.expando] ? event : new jQuery.Event(type, _typeof(event) === "object" && event);\n\n // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n event.isTrigger = onlyHandlers ? 2 : 3;\n event.namespace = namespaces.join(".");\n event.rnamespace = event.namespace ? new RegExp("(^|\\\\.)" + namespaces.join("\\\\.(?:.*\\\\.|)") + "(\\\\.|$)") : null;\n\n // Clean up the event in case it is being reused\n event.result = undefined;\n if (!event.target) {\n event.target = elem;\n }\n\n // Clone any incoming data and prepend the event, creating the handler arg list\n data = data == null ? [event] : jQuery.makeArray(data, [event]);\n\n // Allow special events to draw outside the lines\n special = jQuery.event.special[type] || {};\n if (!onlyHandlers && special.trigger && special.trigger.apply(elem, data) === false) {\n return;\n }\n\n // Determine event propagation path in advance, per W3C events spec (trac-9951)\n // Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)\n if (!onlyHandlers && !special.noBubble && !isWindow(elem)) {\n bubbleType = special.delegateType || type;\n if (!rfocusMorph.test(bubbleType + type)) {\n cur = cur.parentNode;\n }\n for (; cur; cur = cur.parentNode) {\n eventPath.push(cur);\n tmp = cur;\n }\n\n // Only add window if we got to document (e.g., not plain obj or detached DOM)\n if (tmp === (elem.ownerDocument || document)) {\n eventPath.push(tmp.defaultView || tmp.parentWindow || window);\n }\n }\n\n // Fire handlers on the event path\n i = 0;\n while ((cur = eventPath[i++]) && !event.isPropagationStopped()) {\n lastElement = cur;\n event.type = i > 1 ? bubbleType : special.bindType || type;\n\n // jQuery handler\n handle = (dataPriv.get(cur, "events") || Object.create(null))[event.type] && dataPriv.get(cur, "handle");\n if (handle) {\n handle.apply(cur, data);\n }\n\n // Native handler\n handle = ontype && cur[ontype];\n if (handle && handle.apply && acceptData(cur)) {\n event.result = handle.apply(cur, data);\n if (event.result === false) {\n event.preventDefault();\n }\n }\n }\n event.type = type;\n\n // If nobody prevented the default action, do it now\n if (!onlyHandlers && !event.isDefaultPrevented()) {\n if ((!special._default || special._default.apply(eventPath.pop(), data) === false) && acceptData(elem)) {\n // Call a native DOM method on the target with the same name as the event.\n // Don\'t do default actions on window, that\'s where global variables be (trac-6170)\n if (ontype && isFunction(elem[type]) && !isWindow(elem)) {\n // Don\'t re-trigger an onFOO event when we call its FOO() method\n tmp = elem[ontype];\n if (tmp) {\n elem[ontype] = null;\n }\n\n // Prevent re-triggering of the same event, since we already bubbled it above\n jQuery.event.triggered = type;\n if (event.isPropagationStopped()) {\n lastElement.addEventListener(type, stopPropagationCallback);\n }\n elem[type]();\n if (event.isPropagationStopped()) {\n lastElement.removeEventListener(type, stopPropagationCallback);\n }\n jQuery.event.triggered = undefined;\n if (tmp) {\n elem[ontype] = tmp;\n }\n }\n }\n }\n return event.result;\n },\n // Piggyback on a donor event to simulate a different one\n // Used only for `focus(in | out)` events\n simulate: function simulate(type, elem, event) {\n var e = jQuery.extend(new jQuery.Event(), event, {\n type: type,\n isSimulated: true\n });\n jQuery.event.trigger(e, null, elem);\n }\n });\n jQuery.fn.extend({\n trigger: function trigger(type, data) {\n return this.each(function () {\n jQuery.event.trigger(type, data, this);\n });\n },\n triggerHandler: function triggerHandler(type, data) {\n var elem = this[0];\n if (elem) {\n return jQuery.event.trigger(type, data, elem, true);\n }\n }\n });\n var rbracket = /\\[\\]$/,\n rCRLF = /\\r?\\n/g,\n rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n rsubmittable = /^(?:input|select|textarea|keygen)/i;\n function buildParams(prefix, obj, traditional, add) {\n var name;\n if (Array.isArray(obj)) {\n // Serialize array item.\n jQuery.each(obj, function (i, v) {\n if (traditional || rbracket.test(prefix)) {\n // Treat each array item as a scalar.\n add(prefix, v);\n } else {\n // Item is non-scalar (array or object), encode its numeric index.\n buildParams(prefix + "[" + (_typeof(v) === "object" && v != null ? i : "") + "]", v, traditional, add);\n }\n });\n } else if (!traditional && toType(obj) === "object") {\n // Serialize object item.\n for (name in obj) {\n buildParams(prefix + "[" + name + "]", obj[name], traditional, add);\n }\n } else {\n // Serialize scalar item.\n add(prefix, obj);\n }\n }\n\n // Serialize an array of form elements or a set of\n // key/values into a query string\n jQuery.param = function (a, traditional) {\n var prefix,\n s = [],\n add = function add(key, valueOrFunction) {\n // If value is a function, invoke it and use its return value\n var value = isFunction(valueOrFunction) ? valueOrFunction() : valueOrFunction;\n s[s.length] = encodeURIComponent(key) + "=" + encodeURIComponent(value == null ? "" : value);\n };\n if (a == null) {\n return "";\n }\n\n // If an array was passed in, assume that it is an array of form elements.\n if (Array.isArray(a) || a.jquery && !jQuery.isPlainObject(a)) {\n // Serialize the form elements\n jQuery.each(a, function () {\n add(this.name, this.value);\n });\n } else {\n // If traditional, encode the "old" way (the way 1.3.2 or older\n // did it), otherwise encode params recursively.\n for (prefix in a) {\n buildParams(prefix, a[prefix], traditional, add);\n }\n }\n\n // Return the resulting serialization\n return s.join("&");\n };\n jQuery.fn.extend({\n serialize: function serialize() {\n return jQuery.param(this.serializeArray());\n },\n serializeArray: function serializeArray() {\n return this.map(function () {\n // Can add propHook for "elements" to filter or add form elements\n var elements = jQuery.prop(this, "elements");\n return elements ? jQuery.makeArray(elements) : this;\n }).filter(function () {\n var type = this.type;\n\n // Use .is( ":disabled" ) so that fieldset[disabled] works\n return this.name && !jQuery(this).is(":disabled") && rsubmittable.test(this.nodeName) && !rsubmitterTypes.test(type) && (this.checked || !rcheckableType.test(type));\n }).map(function (_i, elem) {\n var val = jQuery(this).val();\n if (val == null) {\n return null;\n }\n if (Array.isArray(val)) {\n return jQuery.map(val, function (val) {\n return {\n name: elem.name,\n value: val.replace(rCRLF, "\\r\\n")\n };\n });\n }\n return {\n name: elem.name,\n value: val.replace(rCRLF, "\\r\\n")\n };\n }).get();\n }\n });\n var r20 = /%20/g,\n rhash = /#.*$/,\n rantiCache = /([?&])_=[^&]*/,\n rheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n // trac-7653, trac-8125, trac-8152: local protocol detection\n rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n rnoContent = /^(?:GET|HEAD)$/,\n rprotocol = /^\\/\\//,\n /* Prefilters\n * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n * 2) These are called:\n * - BEFORE asking for a transport\n * - AFTER param serialization (s.data is a string if s.processData is true)\n * 3) key is the dataType\n * 4) the catchall symbol "*" can be used\n * 5) execution will start with transport dataType and THEN continue down to "*" if needed\n */\n prefilters = {},\n /* Transports bindings\n * 1) key is the dataType\n * 2) the catchall symbol "*" can be used\n * 3) selection will start with transport dataType and THEN go to "*" if needed\n */\n transports = {},\n // Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression\n allTypes = "*/".concat("*"),\n // Anchor tag for parsing the document origin\n originAnchor = document.createElement("a");\n originAnchor.href = location.href;\n\n // Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\n function addToPrefiltersOrTransports(structure) {\n // dataTypeExpression is optional and defaults to "*"\n return function (dataTypeExpression, func) {\n if (typeof dataTypeExpression !== "string") {\n func = dataTypeExpression;\n dataTypeExpression = "*";\n }\n var dataType,\n i = 0,\n dataTypes = dataTypeExpression.toLowerCase().match(rnothtmlwhite) || [];\n if (isFunction(func)) {\n // For each dataType in the dataTypeExpression\n while (dataType = dataTypes[i++]) {\n // Prepend if requested\n if (dataType[0] === "+") {\n dataType = dataType.slice(1) || "*";\n (structure[dataType] = structure[dataType] || []).unshift(func);\n\n // Otherwise append\n } else {\n (structure[dataType] = structure[dataType] || []).push(func);\n }\n }\n }\n };\n }\n\n // Base inspection function for prefilters and transports\n function inspectPrefiltersOrTransports(structure, options, originalOptions, jqXHR) {\n var inspected = {},\n seekingTransport = structure === transports;\n function inspect(dataType) {\n var selected;\n inspected[dataType] = true;\n jQuery.each(structure[dataType] || [], function (_, prefilterOrFactory) {\n var dataTypeOrTransport = prefilterOrFactory(options, originalOptions, jqXHR);\n if (typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[dataTypeOrTransport]) {\n options.dataTypes.unshift(dataTypeOrTransport);\n inspect(dataTypeOrTransport);\n return false;\n } else if (seekingTransport) {\n return !(selected = dataTypeOrTransport);\n }\n });\n return selected;\n }\n return inspect(options.dataTypes[0]) || !inspected["*"] && inspect("*");\n }\n\n // A special extend for ajax options\n // that takes "flat" options (not to be deep extended)\n // Fixes trac-9887\n function ajaxExtend(target, src) {\n var key,\n deep,\n flatOptions = jQuery.ajaxSettings.flatOptions || {};\n for (key in src) {\n if (src[key] !== undefined) {\n (flatOptions[key] ? target : deep || (deep = {}))[key] = src[key];\n }\n }\n if (deep) {\n jQuery.extend(true, target, deep);\n }\n return target;\n }\n\n /* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\n function ajaxHandleResponses(s, jqXHR, responses) {\n var ct,\n type,\n finalDataType,\n firstDataType,\n contents = s.contents,\n dataTypes = s.dataTypes;\n\n // Remove auto dataType and get content-type in the process\n while (dataTypes[0] === "*") {\n dataTypes.shift();\n if (ct === undefined) {\n ct = s.mimeType || jqXHR.getResponseHeader("Content-Type");\n }\n }\n\n // Check if we\'re dealing with a known content-type\n if (ct) {\n for (type in contents) {\n if (contents[type] && contents[type].test(ct)) {\n dataTypes.unshift(type);\n break;\n }\n }\n }\n\n // Check to see if we have a response for the expected dataType\n if (dataTypes[0] in responses) {\n finalDataType = dataTypes[0];\n } else {\n // Try convertible dataTypes\n for (type in responses) {\n if (!dataTypes[0] || s.converters[type + " " + dataTypes[0]]) {\n finalDataType = type;\n break;\n }\n if (!firstDataType) {\n firstDataType = type;\n }\n }\n\n // Or just use first one\n finalDataType = finalDataType || firstDataType;\n }\n\n // If we found a dataType\n // We add the dataType to the list if needed\n // and return the corresponding response\n if (finalDataType) {\n if (finalDataType !== dataTypes[0]) {\n dataTypes.unshift(finalDataType);\n }\n return responses[finalDataType];\n }\n }\n\n /* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\n function ajaxConvert(s, response, jqXHR, isSuccess) {\n var conv2,\n current,\n conv,\n tmp,\n prev,\n converters = {},\n // Work with a copy of dataTypes in case we need to modify it for conversion\n dataTypes = s.dataTypes.slice();\n\n // Create converters map with lowercased keys\n if (dataTypes[1]) {\n for (conv in s.converters) {\n converters[conv.toLowerCase()] = s.converters[conv];\n }\n }\n current = dataTypes.shift();\n\n // Convert to each sequential dataType\n while (current) {\n if (s.responseFields[current]) {\n jqXHR[s.responseFields[current]] = response;\n }\n\n // Apply the dataFilter if provided\n if (!prev && isSuccess && s.dataFilter) {\n response = s.dataFilter(response, s.dataType);\n }\n prev = current;\n current = dataTypes.shift();\n if (current) {\n // There\'s only work to do if current dataType is non-auto\n if (current === "*") {\n current = prev;\n\n // Convert response if prev dataType is non-auto and differs from current\n } else if (prev !== "*" && prev !== current) {\n // Seek a direct converter\n conv = converters[prev + " " + current] || converters["* " + current];\n\n // If none found, seek a pair\n if (!conv) {\n for (conv2 in converters) {\n // If conv2 outputs current\n tmp = conv2.split(" ");\n if (tmp[1] === current) {\n // If prev can be converted to accepted input\n conv = converters[prev + " " + tmp[0]] || converters["* " + tmp[0]];\n if (conv) {\n // Condense equivalence converters\n if (conv === true) {\n conv = converters[conv2];\n\n // Otherwise, insert the intermediate dataType\n } else if (converters[conv2] !== true) {\n current = tmp[0];\n dataTypes.unshift(tmp[1]);\n }\n break;\n }\n }\n }\n }\n\n // Apply converter (if not an equivalence)\n if (conv !== true) {\n // Unless errors are allowed to bubble, catch and return them\n if (conv && s["throws"]) {\n response = conv(response);\n } else {\n try {\n response = conv(response);\n } catch (e) {\n return {\n state: "parsererror",\n error: conv ? e : "No conversion from " + prev + " to " + current\n };\n }\n }\n }\n }\n }\n }\n return {\n state: "success",\n data: response\n };\n }\n jQuery.extend({\n // Counter for holding the number of active queries\n active: 0,\n // Last-Modified header cache for next request\n lastModified: {},\n etag: {},\n ajaxSettings: {\n url: location.href,\n type: "GET",\n isLocal: rlocalProtocol.test(location.protocol),\n global: true,\n processData: true,\n async: true,\n contentType: "application/x-www-form-urlencoded; charset=UTF-8",\n /*\n timeout: 0,\n data: null,\n dataType: null,\n username: null,\n password: null,\n cache: null,\n throws: false,\n traditional: false,\n headers: {},\n */\n\n accepts: {\n "*": allTypes,\n text: "text/plain",\n html: "text/html",\n xml: "application/xml, text/xml",\n json: "application/json, text/javascript"\n },\n contents: {\n xml: /\\bxml\\b/,\n html: /\\bhtml/,\n json: /\\bjson\\b/\n },\n responseFields: {\n xml: "responseXML",\n text: "responseText",\n json: "responseJSON"\n },\n // Data converters\n // Keys separate source (or catchall "*") and destination types with a single space\n converters: {\n // Convert anything to text\n "* text": String,\n // Text to html (true = no transformation)\n "text html": true,\n // Evaluate text as a json expression\n "text json": JSON.parse,\n // Parse text as xml\n "text xml": jQuery.parseXML\n },\n // For options that shouldn\'t be deep extended:\n // you can add your own custom options here if\n // and when you create one that shouldn\'t be\n // deep extended (see ajaxExtend)\n flatOptions: {\n url: true,\n context: true\n }\n },\n // Creates a full fledged settings object into target\n // with both ajaxSettings and settings fields.\n // If target is omitted, writes into ajaxSettings.\n ajaxSetup: function ajaxSetup(target, settings) {\n return settings ?\n // Building a settings object\n ajaxExtend(ajaxExtend(target, jQuery.ajaxSettings), settings) :\n // Extending ajaxSettings\n ajaxExtend(jQuery.ajaxSettings, target);\n },\n ajaxPrefilter: addToPrefiltersOrTransports(prefilters),\n ajaxTransport: addToPrefiltersOrTransports(transports),\n // Main method\n ajax: function ajax(url, options) {\n // If url is an object, simulate pre-1.5 signature\n if (_typeof(url) === "object") {\n options = url;\n url = undefined;\n }\n\n // Force options to be an object\n options = options || {};\n var transport,\n // URL without anti-cache param\n cacheURL,\n // Response headers\n responseHeadersString,\n responseHeaders,\n // timeout handle\n timeoutTimer,\n // Url cleanup var\n urlAnchor,\n // Request state (becomes false upon send and true upon completion)\n completed,\n // To know if global events are to be dispatched\n fireGlobals,\n // Loop variable\n i,\n // uncached part of the url\n uncached,\n // Create the final options object\n s = jQuery.ajaxSetup({}, options),\n // Callbacks context\n callbackContext = s.context || s,\n // Context for global events is callbackContext if it is a DOM node or jQuery collection\n globalEventContext = s.context && (callbackContext.nodeType || callbackContext.jquery) ? jQuery(callbackContext) : jQuery.event,\n // Deferreds\n deferred = jQuery.Deferred(),\n completeDeferred = jQuery.Callbacks("once memory"),\n // Status-dependent callbacks\n _statusCode = s.statusCode || {},\n // Headers (they are sent all at once)\n requestHeaders = {},\n requestHeadersNames = {},\n // Default abort message\n strAbort = "canceled",\n // Fake xhr\n jqXHR = {\n readyState: 0,\n // Builds headers hashtable if needed\n getResponseHeader: function getResponseHeader(key) {\n var match;\n if (completed) {\n if (!responseHeaders) {\n responseHeaders = {};\n while (match = rheaders.exec(responseHeadersString)) {\n responseHeaders[match[1].toLowerCase() + " "] = (responseHeaders[match[1].toLowerCase() + " "] || []).concat(match[2]);\n }\n }\n match = responseHeaders[key.toLowerCase() + " "];\n }\n return match == null ? null : match.join(", ");\n },\n // Raw string\n getAllResponseHeaders: function getAllResponseHeaders() {\n return completed ? responseHeadersString : null;\n },\n // Caches the header\n setRequestHeader: function setRequestHeader(name, value) {\n if (completed == null) {\n name = requestHeadersNames[name.toLowerCase()] = requestHeadersNames[name.toLowerCase()] || name;\n requestHeaders[name] = value;\n }\n return this;\n },\n // Overrides response content-type header\n overrideMimeType: function overrideMimeType(type) {\n if (completed == null) {\n s.mimeType = type;\n }\n return this;\n },\n // Status-dependent callbacks\n statusCode: function statusCode(map) {\n var code;\n if (map) {\n if (completed) {\n // Execute the appropriate callbacks\n jqXHR.always(map[jqXHR.status]);\n } else {\n // Lazy-add the new callbacks in a way that preserves old ones\n for (code in map) {\n _statusCode[code] = [_statusCode[code], map[code]];\n }\n }\n }\n return this;\n },\n // Cancel the request\n abort: function abort(statusText) {\n var finalText = statusText || strAbort;\n if (transport) {\n transport.abort(finalText);\n }\n done(0, finalText);\n return this;\n }\n };\n\n // Attach deferreds\n deferred.promise(jqXHR);\n\n // Add protocol if not provided (prefilters might expect it)\n // Handle falsy url in the settings object (trac-10093: consistency with old signature)\n // We also use the url parameter if available\n s.url = ((url || s.url || location.href) + "").replace(rprotocol, location.protocol + "//");\n\n // Alias method option to type as per ticket trac-12004\n s.type = options.method || options.type || s.method || s.type;\n\n // Extract dataTypes list\n s.dataTypes = (s.dataType || "*").toLowerCase().match(rnothtmlwhite) || [""];\n\n // A cross-domain request is in order when the origin doesn\'t match the current origin.\n if (s.crossDomain == null) {\n urlAnchor = document.createElement("a");\n\n // Support: IE <=8 - 11, Edge 12 - 15\n // IE throws exception on accessing the href property if url is malformed,\n // e.g. http://example.com:80x/\n try {\n urlAnchor.href = s.url;\n\n // Support: IE <=8 - 11 only\n // Anchor\'s host property isn\'t correctly set when s.url is relative\n urlAnchor.href = urlAnchor.href;\n s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== urlAnchor.protocol + "//" + urlAnchor.host;\n } catch (e) {\n // If there is an error parsing the URL, assume it is crossDomain,\n // it can be rejected by the transport if it is invalid\n s.crossDomain = true;\n }\n }\n\n // Convert data if not already a string\n if (s.data && s.processData && typeof s.data !== "string") {\n s.data = jQuery.param(s.data, s.traditional);\n }\n\n // Apply prefilters\n inspectPrefiltersOrTransports(prefilters, s, options, jqXHR);\n\n // If request was aborted inside a prefilter, stop there\n if (completed) {\n return jqXHR;\n }\n\n // We can fire global events as of now if asked to\n // Don\'t fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)\n fireGlobals = jQuery.event && s.global;\n\n // Watch for a new set of requests\n if (fireGlobals && jQuery.active++ === 0) {\n jQuery.event.trigger("ajaxStart");\n }\n\n // Uppercase the type\n s.type = s.type.toUpperCase();\n\n // Determine if request has content\n s.hasContent = !rnoContent.test(s.type);\n\n // Save the URL in case we\'re toying with the If-Modified-Since\n // and/or If-None-Match header later on\n // Remove hash to simplify url manipulation\n cacheURL = s.url.replace(rhash, "");\n\n // More options handling for requests with no content\n if (!s.hasContent) {\n // Remember the hash so we can put it back\n uncached = s.url.slice(cacheURL.length);\n\n // If data is available and should be processed, append data to url\n if (s.data && (s.processData || typeof s.data === "string")) {\n cacheURL += (rquery.test(cacheURL) ? "&" : "?") + s.data;\n\n // trac-9682: remove data so that it\'s not used in an eventual retry\n delete s.data;\n }\n\n // Add or update anti-cache param if needed\n if (s.cache === false) {\n cacheURL = cacheURL.replace(rantiCache, "$1");\n uncached = (rquery.test(cacheURL) ? "&" : "?") + "_=" + nonce.guid++ + uncached;\n }\n\n // Put hash and anti-cache on the URL that will be requested (gh-1732)\n s.url = cacheURL + uncached;\n\n // Change \'%20\' to \'+\' if this is encoded form body content (gh-2658)\n } else if (s.data && s.processData && (s.contentType || "").indexOf("application/x-www-form-urlencoded") === 0) {\n s.data = s.data.replace(r20, "+");\n }\n\n // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n if (s.ifModified) {\n if (jQuery.lastModified[cacheURL]) {\n jqXHR.setRequestHeader("If-Modified-Since", jQuery.lastModified[cacheURL]);\n }\n if (jQuery.etag[cacheURL]) {\n jqXHR.setRequestHeader("If-None-Match", jQuery.etag[cacheURL]);\n }\n }\n\n // Set the correct header, if data is being sent\n if (s.data && s.hasContent && s.contentType !== false || options.contentType) {\n jqXHR.setRequestHeader("Content-Type", s.contentType);\n }\n\n // Set the Accepts header for the server, depending on the dataType\n jqXHR.setRequestHeader("Accept", s.dataTypes[0] && s.accepts[s.dataTypes[0]] ? s.accepts[s.dataTypes[0]] + (s.dataTypes[0] !== "*" ? ", " + allTypes + "; q=0.01" : "") : s.accepts["*"]);\n\n // Check for headers option\n for (i in s.headers) {\n jqXHR.setRequestHeader(i, s.headers[i]);\n }\n\n // Allow custom headers/mimetypes and early abort\n if (s.beforeSend && (s.beforeSend.call(callbackContext, jqXHR, s) === false || completed)) {\n // Abort if not done already and return\n return jqXHR.abort();\n }\n\n // Aborting is no longer a cancellation\n strAbort = "abort";\n\n // Install callbacks on deferreds\n completeDeferred.add(s.complete);\n jqXHR.done(s.success);\n jqXHR.fail(s.error);\n\n // Get transport\n transport = inspectPrefiltersOrTransports(transports, s, options, jqXHR);\n\n // If no transport, we auto-abort\n if (!transport) {\n done(-1, "No Transport");\n } else {\n jqXHR.readyState = 1;\n\n // Send global event\n if (fireGlobals) {\n globalEventContext.trigger("ajaxSend", [jqXHR, s]);\n }\n\n // If request was aborted inside ajaxSend, stop there\n if (completed) {\n return jqXHR;\n }\n\n // Timeout\n if (s.async && s.timeout > 0) {\n timeoutTimer = window.setTimeout(function () {\n jqXHR.abort("timeout");\n }, s.timeout);\n }\n try {\n completed = false;\n transport.send(requestHeaders, done);\n } catch (e) {\n // Rethrow post-completion exceptions\n if (completed) {\n throw e;\n }\n\n // Propagate others as results\n done(-1, e);\n }\n }\n\n // Callback for when everything is done\n function done(status, nativeStatusText, responses, headers) {\n var isSuccess,\n success,\n error,\n response,\n modified,\n statusText = nativeStatusText;\n\n // Ignore repeat invocations\n if (completed) {\n return;\n }\n completed = true;\n\n // Clear timeout if it exists\n if (timeoutTimer) {\n window.clearTimeout(timeoutTimer);\n }\n\n // Dereference transport for early garbage collection\n // (no matter how long the jqXHR object will be used)\n transport = undefined;\n\n // Cache response headers\n responseHeadersString = headers || "";\n\n // Set readyState\n jqXHR.readyState = status > 0 ? 4 : 0;\n\n // Determine if successful\n isSuccess = status >= 200 && status < 300 || status === 304;\n\n // Get response data\n if (responses) {\n response = ajaxHandleResponses(s, jqXHR, responses);\n }\n\n // Use a noop converter for missing script but not if jsonp\n if (!isSuccess && jQuery.inArray("script", s.dataTypes) > -1 && jQuery.inArray("json", s.dataTypes) < 0) {\n s.converters["text script"] = function () {};\n }\n\n // Convert no matter what (that way responseXXX fields are always set)\n response = ajaxConvert(s, response, jqXHR, isSuccess);\n\n // If successful, handle type chaining\n if (isSuccess) {\n // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n if (s.ifModified) {\n modified = jqXHR.getResponseHeader("Last-Modified");\n if (modified) {\n jQuery.lastModified[cacheURL] = modified;\n }\n modified = jqXHR.getResponseHeader("etag");\n if (modified) {\n jQuery.etag[cacheURL] = modified;\n }\n }\n\n // if no content\n if (status === 204 || s.type === "HEAD") {\n statusText = "nocontent";\n\n // if not modified\n } else if (status === 304) {\n statusText = "notmodified";\n\n // If we have data, let\'s convert it\n } else {\n statusText = response.state;\n success = response.data;\n error = response.error;\n isSuccess = !error;\n }\n } else {\n // Extract error from statusText and normalize for non-aborts\n error = statusText;\n if (status || !statusText) {\n statusText = "error";\n if (status < 0) {\n status = 0;\n }\n }\n }\n\n // Set data for the fake xhr object\n jqXHR.status = status;\n jqXHR.statusText = (nativeStatusText || statusText) + "";\n\n // Success/Error\n if (isSuccess) {\n deferred.resolveWith(callbackContext, [success, statusText, jqXHR]);\n } else {\n deferred.rejectWith(callbackContext, [jqXHR, statusText, error]);\n }\n\n // Status-dependent callbacks\n jqXHR.statusCode(_statusCode);\n _statusCode = undefined;\n if (fireGlobals) {\n globalEventContext.trigger(isSuccess ? "ajaxSuccess" : "ajaxError", [jqXHR, s, isSuccess ? success : error]);\n }\n\n // Complete\n completeDeferred.fireWith(callbackContext, [jqXHR, statusText]);\n if (fireGlobals) {\n globalEventContext.trigger("ajaxComplete", [jqXHR, s]);\n\n // Handle the global AJAX counter\n if (! --jQuery.active) {\n jQuery.event.trigger("ajaxStop");\n }\n }\n }\n return jqXHR;\n },\n getJSON: function getJSON(url, data, callback) {\n return jQuery.get(url, data, callback, "json");\n },\n getScript: function getScript(url, callback) {\n return jQuery.get(url, undefined, callback, "script");\n }\n });\n jQuery.each(["get", "post"], function (_i, method) {\n jQuery[method] = function (url, data, callback, type) {\n // Shift arguments if data argument was omitted\n if (isFunction(data)) {\n type = type || callback;\n callback = data;\n data = undefined;\n }\n\n // The url can be an options object (which then must have .url)\n return jQuery.ajax(jQuery.extend({\n url: url,\n type: method,\n dataType: type,\n data: data,\n success: callback\n }, jQuery.isPlainObject(url) && url));\n };\n });\n jQuery.ajaxPrefilter(function (s) {\n var i;\n for (i in s.headers) {\n if (i.toLowerCase() === "content-type") {\n s.contentType = s.headers[i] || "";\n }\n }\n });\n jQuery._evalUrl = function (url, options, doc) {\n return jQuery.ajax({\n url: url,\n // Make this explicit, since user can override this through ajaxSetup (trac-11264)\n type: "GET",\n dataType: "script",\n cache: true,\n async: false,\n global: false,\n // Only evaluate the response if it is successful (gh-4126)\n // dataFilter is not invoked for failure responses, so using it instead\n // of the default converter is kludgy but it works.\n converters: {\n "text script": function textScript() {}\n },\n dataFilter: function dataFilter(response) {\n jQuery.globalEval(response, options, doc);\n }\n });\n };\n jQuery.fn.extend({\n wrapAll: function wrapAll(html) {\n var wrap;\n if (this[0]) {\n if (isFunction(html)) {\n html = html.call(this[0]);\n }\n\n // The elements to wrap the target around\n wrap = jQuery(html, this[0].ownerDocument).eq(0).clone(true);\n if (this[0].parentNode) {\n wrap.insertBefore(this[0]);\n }\n wrap.map(function () {\n var elem = this;\n while (elem.firstElementChild) {\n elem = elem.firstElementChild;\n }\n return elem;\n }).append(this);\n }\n return this;\n },\n wrapInner: function wrapInner(html) {\n if (isFunction(html)) {\n return this.each(function (i) {\n jQuery(this).wrapInner(html.call(this, i));\n });\n }\n return this.each(function () {\n var self = jQuery(this),\n contents = self.contents();\n if (contents.length) {\n contents.wrapAll(html);\n } else {\n self.append(html);\n }\n });\n },\n wrap: function wrap(html) {\n var htmlIsFunction = isFunction(html);\n return this.each(function (i) {\n jQuery(this).wrapAll(htmlIsFunction ? html.call(this, i) : html);\n });\n },\n unwrap: function unwrap(selector) {\n this.parent(selector).not("body").each(function () {\n jQuery(this).replaceWith(this.childNodes);\n });\n return this;\n }\n });\n jQuery.expr.pseudos.hidden = function (elem) {\n return !jQuery.expr.pseudos.visible(elem);\n };\n jQuery.expr.pseudos.visible = function (elem) {\n return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);\n };\n jQuery.ajaxSettings.xhr = function () {\n try {\n return new window.XMLHttpRequest();\n } catch (e) {}\n };\n var xhrSuccessStatus = {\n // File protocol always yields status code 0, assume 200\n 0: 200,\n // Support: IE <=9 only\n // trac-1450: sometimes IE returns 1223 when it should be 204\n 1223: 204\n },\n xhrSupported = jQuery.ajaxSettings.xhr();\n support.cors = !!xhrSupported && "withCredentials" in xhrSupported;\n support.ajax = xhrSupported = !!xhrSupported;\n jQuery.ajaxTransport(function (options) {\n var _callback, errorCallback;\n\n // Cross domain only allowed if supported through XMLHttpRequest\n if (support.cors || xhrSupported && !options.crossDomain) {\n return {\n send: function send(headers, complete) {\n var i,\n xhr = options.xhr();\n xhr.open(options.type, options.url, options.async, options.username, options.password);\n\n // Apply custom fields if provided\n if (options.xhrFields) {\n for (i in options.xhrFields) {\n xhr[i] = options.xhrFields[i];\n }\n }\n\n // Override mime type if needed\n if (options.mimeType && xhr.overrideMimeType) {\n xhr.overrideMimeType(options.mimeType);\n }\n\n // X-Requested-With header\n // For cross-domain requests, seeing as conditions for a preflight are\n // akin to a jigsaw puzzle, we simply never set it to be sure.\n // (it can always be set on a per-request basis or even using ajaxSetup)\n // For same-domain requests, won\'t change header if already provided.\n if (!options.crossDomain && !headers["X-Requested-With"]) {\n headers["X-Requested-With"] = "XMLHttpRequest";\n }\n\n // Set headers\n for (i in headers) {\n xhr.setRequestHeader(i, headers[i]);\n }\n\n // Callback\n _callback = function callback(type) {\n return function () {\n if (_callback) {\n _callback = errorCallback = xhr.onload = xhr.onerror = xhr.onabort = xhr.ontimeout = xhr.onreadystatechange = null;\n if (type === "abort") {\n xhr.abort();\n } else if (type === "error") {\n // Support: IE <=9 only\n // On a manual native abort, IE9 throws\n // errors on any property access that is not readyState\n if (typeof xhr.status !== "number") {\n complete(0, "error");\n } else {\n complete(\n // File: protocol always yields status 0; see trac-8605, trac-14207\n xhr.status, xhr.statusText);\n }\n } else {\n complete(xhrSuccessStatus[xhr.status] || xhr.status, xhr.statusText,\n // Support: IE <=9 only\n // IE9 has no XHR2 but throws on binary (trac-11426)\n // For XHR2 non-text, let the caller handle it (gh-2498)\n (xhr.responseType || "text") !== "text" || typeof xhr.responseText !== "string" ? {\n binary: xhr.response\n } : {\n text: xhr.responseText\n }, xhr.getAllResponseHeaders());\n }\n }\n };\n };\n\n // Listen to events\n xhr.onload = _callback();\n errorCallback = xhr.onerror = xhr.ontimeout = _callback("error");\n\n // Support: IE 9 only\n // Use onreadystatechange to replace onabort\n // to handle uncaught aborts\n if (xhr.onabort !== undefined) {\n xhr.onabort = errorCallback;\n } else {\n xhr.onreadystatechange = function () {\n // Check readyState before timeout as it changes\n if (xhr.readyState === 4) {\n // Allow onerror to be called first,\n // but that will not handle a native abort\n // Also, save errorCallback to a variable\n // as xhr.onerror cannot be accessed\n window.setTimeout(function () {\n if (_callback) {\n errorCallback();\n }\n });\n }\n };\n }\n\n // Create the abort callback\n _callback = _callback("abort");\n try {\n // Do send the request (this may raise an exception)\n xhr.send(options.hasContent && options.data || null);\n } catch (e) {\n // trac-14683: Only rethrow if this hasn\'t been notified as an error yet\n if (_callback) {\n throw e;\n }\n }\n },\n abort: function abort() {\n if (_callback) {\n _callback();\n }\n }\n };\n }\n });\n\n // Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\n jQuery.ajaxPrefilter(function (s) {\n if (s.crossDomain) {\n s.contents.script = false;\n }\n });\n\n // Install script dataType\n jQuery.ajaxSetup({\n accepts: {\n script: "text/javascript, application/javascript, " + "application/ecmascript, application/x-ecmascript"\n },\n contents: {\n script: /\\b(?:java|ecma)script\\b/\n },\n converters: {\n "text script": function textScript(text) {\n jQuery.globalEval(text);\n return text;\n }\n }\n });\n\n // Handle cache\'s special case and crossDomain\n jQuery.ajaxPrefilter("script", function (s) {\n if (s.cache === undefined) {\n s.cache = false;\n }\n if (s.crossDomain) {\n s.type = "GET";\n }\n });\n\n // Bind script tag hack transport\n jQuery.ajaxTransport("script", function (s) {\n // This transport only deals with cross domain or forced-by-attrs requests\n if (s.crossDomain || s.scriptAttrs) {\n var script, _callback2;\n return {\n send: function send(_, complete) {\n script = jQuery("