UNPKG

ngx-material-drawer

Version:

[npm_img]: https://img.shields.io/npm/v/ngx-material-drawer.svg?colorB=0E7FBF [npm_url]: https://www.npmjs.com/package/ngx-material-drawer

638 lines (634 loc) 320 kB
import { Injectable, ɵɵdefineInjectable, ɵɵinject, EventEmitter, Component, ViewChild, Input, Output, HostBinding, NgModule, Directive, ViewContainerRef, ComponentFactoryResolver } from '@angular/core'; import { VERSION, MatRippleModule } from '@angular/material/core'; import { Subject, ReplaySubject, BehaviorSubject, fromEvent } from 'rxjs'; import { BrowserModule } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { CommonModule } from '@angular/common'; import { FlexLayoutModule } from '@angular/flex-layout'; import { trigger, state, style, transition, animate } from '@angular/animations'; import { MatMenuModule } from '@angular/material/menu'; import { MatButtonModule } from '@angular/material/button'; import { MatCardModule } from '@angular/material/card'; import { MatGridListModule } from '@angular/material/grid-list'; import { MatIconModule } from '@angular/material/icon'; import { MatListModule } from '@angular/material/list'; import { MatSidenavModule } from '@angular/material/sidenav'; import { MatToolbarModule } from '@angular/material/toolbar'; import { MatTooltipModule } from '@angular/material/tooltip'; import { FormsModule } from '@angular/forms'; import { startWith, map, distinctUntilChanged, shareReplay } from 'rxjs/operators'; /** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NgxMaterialDrawerEventEmitter { constructor() { this.onMatDrawerInit = new Subject(); this.onMatDrawerAfterViewInit = new Subject(); this.onNavStateChange = new Subject(); this.onDataChange = new ReplaySubject(1); this.onGridDataChange = new ReplaySubject(1); this.onSideNavOpen = new Subject(); this.onSideNavClosed = new Subject(); this.onMinVarientChange = new Subject(); this.onSideNavItemClick = new Subject(); this.onSideNavItemExpanded = new Subject(); this.onSideNavItemCollapsed = new Subject(); this.onMenuItemClick = new Subject(); this.onMenuItemExpanded = new Subject(); this.onMenuItemCollapsed = new Subject(); this.onSearchValueChange = new Subject(); this.onSerachFocusIn = new Subject(); this.onSerachFocusOut = new Subject(); this.onSerachInputOpen = new Subject(); this.onSerachInputClosed = new Subject(); this.onFabExpanded = new Subject(); this.onFabCollapsed = new Subject(); this.onMainFabButtonClick = new Subject(); this.onFabButtonClick = new Subject(); } /** * Material drawer Main component life cycle * @param {?} event json * @return {?} */ matDrawerInit(event) { this.onMatDrawerInit.next(event); } /** * Material drawer Main component life cycle * @param {?} event json * @return {?} */ matDrawerAfterViewInit(event) { this.onMatDrawerAfterViewInit.next(event); } /** * using on side nav toggle * @param {?} event json * @return {?} */ navStateChange(event) { this.onNavStateChange.next(event); } /** * On Search value change * @param {?} searchObject containing value and input search object * @return {?} */ searchValueChange(searchObject) { this.onSearchValueChange.next(searchObject); } /** * On Search focusin * @param {?} searchObject containing value and input search object * @return {?} */ serachFocusIn(searchObject) { this.onSerachFocusIn.next(searchObject); } /** * On Search focusout * @param {?} searchObject containing value and input search object * @return {?} */ serachFocusOut(searchObject) { this.onSerachFocusOut.next(searchObject); } /** * On Search focusout * @param {?} searchObject containing value and input search object * @return {?} */ serachInputOpen(searchObject) { this.onSerachInputOpen.next(searchObject); } /** * On Search focusout * @param {?} searchObject containing value and input search object * @return {?} */ serachInputClosed(searchObject) { this.onSerachInputClosed.next(searchObject); } /** * on data chamge * @param {?} event new json * @return {?} */ dataChange(event) { this.onDataChange.next(event); } /** * on data chamge * @param {?} event new json * @return {?} */ gridDataChange(event) { this.onGridDataChange.next(event); } /** * using on side nav open * @param {?} event json * @return {?} */ sideNavOpen(event) { this.onSideNavOpen.next(event); } /** * using on side nav closed * @param {?} event json * @return {?} */ sideNavClosed(event) { this.onSideNavClosed.next(event); } /** * Not using currently * @param {?} event json * @return {?} */ minVarientChange(event) { this.onMinVarientChange.next(event); } /** * using in side nav item * @param {?} event json * @return {?} */ sideNavItemClick(event) { this.onSideNavItemClick.next(event); } /** * using in side nav item * @param {?} event json * @return {?} */ sideNavItemExpanded(event) { this.onSideNavItemExpanded.next(event); } /** * using in side nav item * @param {?} event json * @return {?} */ sideNavItemCollapsed(event) { this.onSideNavItemCollapsed.next(event); } /** * using in toolbar menu * @param {?} event json * @return {?} */ menuItemClick(event) { this.onMenuItemClick.next(event); } /** * using in toolbar menu * @param {?} event json * @return {?} */ menuItemExpanded(event) { this.onMenuItemExpanded.next(event); } /** * using in toolbar menu * @param {?} event json * @return {?} */ menuItemCollapsed(event) { this.onMenuItemCollapsed.next(event); } /** * using in toolbar menu * @param {?} event json * @return {?} */ fabExpanded(event) { this.onFabExpanded.next(event); } /** * using in toolbar menu * @param {?} event json * @return {?} */ fabCollapsed(event) { this.onFabCollapsed.next(event); } /** * using in toolbar menu * @param {?} event json * @return {?} */ mainFabButtonClick(event) { this.onMainFabButtonClick.next(event); } /** * using in toolbar menu * @param {?} event json * @return {?} */ fabButtonClick(event) { this.onFabButtonClick.next(event); } } NgxMaterialDrawerEventEmitter.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ NgxMaterialDrawerEventEmitter.ctorParameters = () => []; /** @nocollapse */ NgxMaterialDrawerEventEmitter.ngInjectableDef = ɵɵdefineInjectable({ factory: function NgxMaterialDrawerEventEmitter_Factory() { return new NgxMaterialDrawerEventEmitter(); }, token: NgxMaterialDrawerEventEmitter, providedIn: "root" }); if (false) { /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onMatDrawerInit; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onMatDrawerAfterViewInit; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onNavStateChange; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onDataChange; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onGridDataChange; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onSideNavOpen; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onSideNavClosed; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onMinVarientChange; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onSideNavItemClick; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onSideNavItemExpanded; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onSideNavItemCollapsed; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onMenuItemClick; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onMenuItemExpanded; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onMenuItemCollapsed; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onSearchValueChange; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onSerachFocusIn; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onSerachFocusOut; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onSerachInputOpen; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onSerachInputClosed; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onFabExpanded; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onFabCollapsed; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onMainFabButtonClick; /** @type {?} */ NgxMaterialDrawerEventEmitter.prototype.onFabButtonClick; } /** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NgxNavService { /** * @param {?} matEventEmitterService */ constructor(matEventEmitterService) { this.matEventEmitterService = matEventEmitterService; this.currentUrl = new BehaviorSubject(undefined); this.isDrawerOpened = false; } /** * @return {?} */ closeNav() { if (!this.isMiniVarient) { this.appDrawer.close(); } this.isOpened = false; this.matEventEmitterService.sideNavClosed(this.getData(this.isOpened)); } /** * @return {?} */ openNav() { if (!this.isMiniVarient) { this.appDrawer.open(); } this.isOpened = true; this.matEventEmitterService.sideNavOpen(this.getData(this.isOpened)); } /** * @return {?} */ toggleNav() { if (!this.isMiniVarient) { this.appDrawer.toggle(); } this.isOpened = !this.isOpened; if (this.isOpened) { this.matEventEmitterService.sideNavOpen(this.getData(this.isOpened)); } else { this.matEventEmitterService.sideNavClosed(this.getData(this.isOpened)); } this.matEventEmitterService.navStateChange(this.getData(this.isOpened)); } /** * @param {?} b * @return {?} */ getData(b) { return { drawer: this.appDrawer, isOpened: b }; } } NgxNavService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ NgxNavService.ctorParameters = () => [ { type: NgxMaterialDrawerEventEmitter } ]; /** @nocollapse */ NgxNavService.ngInjectableDef = ɵɵdefineInjectable({ factory: function NgxNavService_Factory() { return new NgxNavService(ɵɵinject(NgxMaterialDrawerEventEmitter)); }, token: NgxNavService, providedIn: "root" }); if (false) { /** @type {?} */ NgxNavService.prototype.appDrawer; /** @type {?} */ NgxNavService.prototype.isMiniVarient; /** @type {?} */ NgxNavService.prototype.isOpened; /** @type {?} */ NgxNavService.prototype.currentUrl; /** @type {?} */ NgxNavService.prototype.isDrawerOpened; /** @type {?} */ NgxNavService.prototype.matEventEmitterService; } /** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NgxUtilsService { constructor() { } /** * @return {?} */ get componentInstance() { return this.instance; } /** * @param {?} instance * @return {?} */ set componentInstance(instance) { this.instance = Object.assign({}, this.instance, instance); } /** * @param {?} card * @return {?} */ getExtendedData(card) { /** @type {?} */ let compDetail = this.componentInstance[card.component]; /** @type {?} */ let detail = Object.assign({}, card, compDetail); return detail; } } NgxUtilsService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ NgxUtilsService.ctorParameters = () => []; /** @nocollapse */ NgxUtilsService.ngInjectableDef = ɵɵdefineInjectable({ factory: function NgxUtilsService_Factory() { return new NgxUtilsService(); }, token: NgxUtilsService, providedIn: "root" }); if (false) { /** * @type {?} * @private */ NgxUtilsService.prototype.instance; } /** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NgxMaterialDrawerComponent { /** * @param {?} navService * @param {?} matEventEmitterService * @param {?} ngxUtilsService */ constructor(navService, matEventEmitterService, ngxUtilsService) { this.navService = navService; this.matEventEmitterService = matEventEmitterService; this.ngxUtilsService = ngxUtilsService; this.onMatDrawerInit = new EventEmitter(); this.onMatDrawerAfterViewInit = new EventEmitter(); this.onNavStateChange = new EventEmitter(); this.onDataChange = new EventEmitter(); this.onSideNavOpen = new EventEmitter(); this.onSideNavClosed = new EventEmitter(); this.onMinVarientChange = new EventEmitter(); this.onSideNavItemClick = new EventEmitter(); this.onSideNavItemExpanded = new EventEmitter(); this.onSideNavItemCollapsed = new EventEmitter(); this.onMenuItemClick = new EventEmitter(); this.onSerachValueChange = new EventEmitter(); this.onSerachFocusIn = new EventEmitter(); this.onSerachFocusOut = new EventEmitter(); this.onSerachInputOpen = new EventEmitter(); this.onSerachInputClosed = new EventEmitter(); this.onFabExpanded = new EventEmitter(); this.onFabCollapsed = new EventEmitter(); this.onMainFabButtonClick = new EventEmitter(); this.onFabButtonClick = new EventEmitter(); //Material drawer version this.version = VERSION; this.subscribeToEventEmitter(); } /** * @return {?} */ ngOnInit() { this.ngxUtilsService.componentInstance = this.componentInstance; this.matEventEmitterService.dataChange(this.navData); this.matEventEmitterService.onDataChange.subscribe((/** * @param {?} res * @return {?} */ res => { this.navData = res; this.navService.isMiniVarient = this.navData['miniVarient']; this.navService.isOpened = this.navData['opened']; })); this.matEventEmitterService.matDrawerInit(this.navData); } /** * @return {?} */ ngAfterViewInit() { this.navService.appDrawer = this.appDrawer; this.matEventEmitterService.matDrawerAfterViewInit(this.navData); } /** * @private * @return {?} */ subscribeToEventEmitter() { this.matEventEmitterService.onMatDrawerInit.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onMatDrawerInit.emit(event); })); this.matEventEmitterService.onMatDrawerAfterViewInit.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onMatDrawerAfterViewInit.emit(event); })); this.matEventEmitterService.onNavStateChange.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onNavStateChange.emit(event); })); this.matEventEmitterService.onDataChange.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onDataChange.emit(event); })); this.matEventEmitterService.onSideNavOpen.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onSideNavOpen.emit(event); })); this.matEventEmitterService.onSideNavClosed.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onSideNavClosed.emit(event); })); this.matEventEmitterService.onMinVarientChange.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onMinVarientChange.emit(event); })); this.matEventEmitterService.onSideNavItemClick.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onSideNavItemClick.emit(event); })); this.matEventEmitterService.onSideNavItemExpanded.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onSideNavItemExpanded.emit(event); })); this.matEventEmitterService.onSideNavItemCollapsed.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onSideNavItemCollapsed.emit(event); })); this.matEventEmitterService.onMenuItemClick.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onMenuItemClick.emit(event); })); this.matEventEmitterService.onSearchValueChange.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onSerachValueChange.emit(event); })); this.matEventEmitterService.onSerachFocusIn.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onSerachFocusIn.emit(event); })); this.matEventEmitterService.onSerachFocusOut.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onSerachFocusOut.emit(event); })); this.matEventEmitterService.onFabExpanded.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onFabExpanded.emit(event); })); this.matEventEmitterService.onFabCollapsed.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onFabCollapsed.emit(event); })); this.matEventEmitterService.onMainFabButtonClick.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onMainFabButtonClick.emit(event); })); this.matEventEmitterService.onFabButtonClick.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onFabButtonClick.emit(event); })); this.matEventEmitterService.onSerachInputOpen.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onSerachInputOpen.emit(event); })); this.matEventEmitterService.onSerachInputClosed.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.onSerachInputClosed.emit(event); })); } } NgxMaterialDrawerComponent.decorators = [ { type: Component, args: [{ selector: 'ngx-material-drawer', template: "<lib-top-nav\r\n [config]=\"navData\"\r\n class=\"fixed-topnav\"\r\n></lib-top-nav>\r\n<!-- <lib-top-nav [config]=\"navData?\" class=\"fixed-topnav\"></lib-top-nav> -->\r\n<mat-sidenav-container\r\n [hasBackdrop]=\"navData?.hasBackdrop\"\r\n autosize\r\n>\r\n <mat-sidenav\r\n [ngClass]=\"navData?.miniVarient && !navService?.isOpened? 'mini-drawer': ''\"\r\n [ngStyle]=\"navData?.navItems?.style? navData?.navItems.style : ''\"\r\n [position]=\"navData?.position\"\r\n #appDrawer\r\n [mode]=\"navData?.mode\"\r\n [opened]=\"navData?.miniVarient ? 'open' : navData?.opened\"\r\n >\r\n <mat-nav-list *ngIf=\"!navData?.miniVarient || navData?.miniVarient && navService?.isOpened\">\r\n <lib-nav-list-item\r\n *ngFor=\"let item of navData?.navItems?.data\"\r\n [item]=\"item\"\r\n ></lib-nav-list-item>\r\n </mat-nav-list>\r\n <mat-nav-list *ngIf=\"navData?.miniVarient && !navService?.isOpened\">\r\n <lib-nav-list-item-mini\r\n *ngFor=\"let item of navData?.navItems?.data\"\r\n [item]=\"item\"\r\n ></lib-nav-list-item-mini>\r\n </mat-nav-list>\r\n </mat-sidenav>\r\n <div [ngClass]=\"navData?.miniVarient ? 'main-container-on-mini-variant' :''\">\r\n <ng-content></ng-content>\r\n </div>\r\n</mat-sidenav-container>\r\n\r\n\r\n<!-- Fab Buttons -->\r\n<lib-fab [fabData]=\"navData?.fabs\"></lib-fab>\r\n", styles: ["@import url(https://fonts.googleapis.com/css?family=Roboto:400,700|Material+Icons);.mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h5,.mat-h6,.mat-typography h5,.mat-typography h6{margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,\"Helvetica Neue\",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,\"Helvetica Neue\",sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,\"Helvetica Neue\",sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,\"Helvetica Neue\",sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,\"Helvetica Neue\",sans-serif}.mat-expansion-panel-header{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,\"Helvetica Neue\",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item,.mat-list-option{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:16px;color:rgba(0,0,0,.87)}.mat-optgroup-label{font:500 14px/24px Roboto,\"Helvetica Neue\",sans-serif;color:rgba(0,0,0,.54)}.mat-simple-snackbar{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden;position:relative}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform cubic-bezier(0,0,.2,1);transform:scale(0)}@media (-ms-high-contrast:active){.mat-ripple-element{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}@media screen and (-ms-high-contrast:active){.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}@-webkit-keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-start{/*!*/}@-webkit-keyframes cdk-text-field-autofill-end{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation-name:cdk-text-field-autofill-start;animation-name:cdk-text-field-autofill-start}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation-name:cdk-text-field-autofill-end;animation-name:cdk-text-field-autofill-end}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#3f51b5}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#4caf50}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-pseudo-checkbox-disabled{color:#b0b0b0}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#4caf50}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#3f51b5}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{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)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-app-background{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}@media (-ms-high-contrast:active){.mat-badge-content{outline:solid 1px;border-radius:0}.mat-checkbox-disabled{opacity:.5}}.mat-badge-accent .mat-badge-content{background:#4caf50;color:rgba(0,0,0,.87)}.mat-badge-warn .mat-badge-content{color:#fff;background:#f44336}.mat-badge{position:relative}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:rgba(0,0,0,.38)}.mat-badge-content{color:#fff;background:#3f51b5;position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.mat-badge-content._mat-animation-noopable,.ng-animate-disabled .mat-badge-content{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-bottom-sheet-container{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);background:#fff;color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:0 0}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#3f51b5}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#4caf50}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled],.mat-stroked-button.mat-accent[disabled],.mat-stroked-button.mat-primary[disabled],.mat-stroked-button.mat-warn[disabled],.mat-stroked-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#3f51b5}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#4caf50}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#f44336}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay,.mat-stroked-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button .mat-ripple-element,.mat-icon-button .mat-ripple-element,.mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.mat-button-focus-overlay{background:#000}.mat-stroked-button:not([disabled]){border-color:rgba(0,0,0,.12)}.mat-fab,.mat-flat-button,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff;background-color:#3f51b5}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:rgba(0,0,0,.87);background-color:#4caf50}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff;background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26);background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-flat-button.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-accent .mat-ripple-element,.mat-flat-button.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-fab.mat-warn .mat-ripple-element,.mat-flat-button.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-flat-button:not([class*=mat-elevation-z]),.mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){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)}.mat-raised-button[disabled]:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]),.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab[disabled]:not([class*=mat-elevation-z]),.mat-mini-fab[disabled]:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-button-toggle-group,.mat-button-toggle-standalone{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none;border:1px solid rgba(0,0,0,.12)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-appearance-standard{color:rgba(0,0,0,.87);background:#fff}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid rgba(0,0,0,.12)}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid rgba(0,0,0,.12)}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;